求乙個序列中最小的自左到右最小的分組數

2021-06-14 19:02:31 字數 538 閱讀 8332

sample input

84 3 8 5 9 6 7 8

10 2 9 3 4 5 10

output23

ps: 因為在同樣的個數里分組也有好多辦法,所以這裡的每個分組內部不一定含有最長不降子串行,但是個數是最少的。

#include using namespace std;

int a[50], b[50];

int main()

if(b[i] > max)

max = b[i];

} for(i = 0; i < n; i++)

cout<<"b[i] "《為什麼是b[i] == b[j]?

如果序列是這樣11 10 9, 分析9的時候你就發現應該是b[i] == b[j],實際上你會發現要是你寫成b[i] <= b[j]也行,但是切勿寫成b[i] >= b[j]這樣b[i]就會往小裡變。

什麼時候適合用a[j] >= a[i]?

如果你想求上公升的分組,你就這麼寫。如果你想求不降的分組,那麼你可以a[j] > a[j]。同理下降序列的情況。

c set求一群數中最小的k個數

問題描述 輸入n個整數,找出其中最小的k k n 個不同數。例如輸入4,5,1,6,1,7,3,8這8個數字,則最小的4個數字是1,3,4,5。輸入形式 每個測試案例包括2行 第一行為2個整數n,k 1 n,k 200000 表示陣列的長度。第二行包含n個整數,表示這n個數,陣列中的數的範圍是 0,...

給定乙個N位數,得到乙個N k位的數中最小的數

題目 給定乙個n位數,例如12345,從裡面去掉k個數字,得到乙個n k位的數,例如去掉2,4,得到135,去掉1,5,得到234。設計演算法,求出所有得到的 n k位數裡面最小的那乙個 解決方案一 1 第一步要確定剩餘n k位的數的最高位 從個位開始算起,從第n k位開始向高位比較,求出最小數字,...

遞迴查詢乙個序列的最大最小值

這個問題在群裡看到的,提問的人伐已經有偽 了,但是他沒理解,以及不知道怎麼用c的 去編寫 他的複試只能使用c 看了一下偽 這個問題的解法是這樣 有點類似於快排 把序列分成兩塊 二分 比較兩塊區間中的最大最小值,這裡就開始遞迴呼叫得到每個區間的最大最小值。其中 當區間劃分直至只有乙個元素,當前區間最大...