從開始接觸到每到求最長遞增子串行都是用的動態規劃方法,要開兩個陣列。
**
#include直到昨天晚上,隊員和我討論,我發現它使用的貪心求最長遞增子串行,空間和時間複雜度都比動態規劃的方法小。<
stdio.h
>
intmain()}//
printf("%d\n",b[n-1]);
if(b[n-1
]>=
m)puts(
"good");
else
puts(
"bad");
}return0;
}
方法:j=0;i從0到n-1迴圈,每次到a[i]>a[j],就讓a[j+1]=a[i],j+=1; 如果a[i]<=a[j],就在a[0]從a[i-1]找到第乙個比a[i]小的數替換為a[i]。
到迴圈結束,就j++的值就是求得最長遞增子串行的結果。
**
#include上面**的對應題目是zzuli上的跳高的蝸牛。<
stdio.h
>
intmain()}if
(++j>=
m)puts(
"good");
else
puts(
"bad");
}return0;
}
最長遞增(遞減)子串行
最長遞增序列 include include include include include include using namespace std int main for int i 1 i n i for int j 0 j i j 第i個跟前i 1個 嘗試組成序列 選擇能組成最長的的 if ...
最長遞減子串行
最長遞增子串行算過很多了?那我們這次來求個遞減的試試 第一行為乙個整數t,代表有t組測試資料。每組測試資料為乙個只含有字母和數字的字串 字串長度不超過1000 對於每組測試資料,輸出其最長遞減子串行的長度 要求以ascii碼進行比較且嚴格遞減 程式源 include using namespace ...
最長遞減子串行
最長遞減子串行 如果array i aarray j 第i個數的最長遞減子串行的長度 等於 i 1到最後乙個數的最長遞減子串行的長度 加 1 否則 最長遞減子串行的長度就是1 最後乙個數的最長遞減子串行的長度等於1,最開始的時候dp i 的值都為1 然後倒著求最長遞減子串行 如 3,8,7,5,4,...