求左邊數字減去右邊數字的最大差 動態規劃

2022-08-09 14:45:18 字數 471 閱讀 4661

題目:在陣列中,數字減去它右邊的數字得到乙個數對之差。求所有數對之差的最大值。例如在陣列中,數對之差的最大值是11,是16減去5的結果。

動態規劃

變數:i為陣列索引,max為i之前的最大值(不包括i),maxdiff為i之前的數減去i得到的最大差。

解釋:當i時,maxdiff=max-data[i],即i之前的最大數減去data[i]。

當i+1時,i+1之前的最大值為max或data[i],找到最大值後減去data[i+1]得到減i+1的最大差。

當1時,max=data[0],maxdiff=max-data[1]。

int maxdiff_solution3(int numbers, unsigned length)

return maxdiff;

}

參考:

陣列左邊減去右邊數值的最大差值

求陣列左邊減去右邊數值的最大差值,如下面的陣列,a 組大差值為11 1 為10 include using namespace std 求陣列左邊減去右邊數值的最大差值,例如下面的陣列,組大差值為11 1 為10,這個題目解法挺多,自己想到乙個簡單的演算法,記錄下 可以申請乙個同樣大小的陣列b,從右...

Problem F 最右邊的數字

description 給你兩個正整數n和m,求出n m的最右邊的數字是多少。input 輸入包含多組測試用例,第乙個行是乙個整數t代表有t組測試。接下來的t行每行包含兩個正整數n,m 1 n,m 1,000,000,000 由空格分開。output 對每組測試用例,輸出n m最右邊的數字。samp...

數字序列中的最大差和最小差對數

題目 小q今天在上廁所時想到了這個問題 有n個數,兩兩組成二元組,差最小的有多少對呢?差最大呢?例如 輸入 645 32 45 16 6 5 輸出1 2 思路1.最大差一定是,最大數和最小數之差,所以在排序後對最大數和最小數的數量進行統計即可,特別的情況 當最大和最小一樣時,那麼有 n 1 n 2對...