題目:在陣列中,數字減去它右邊的數字得到乙個數對之差。求所有數對之差的最大值。例如在陣列中,數對之差的最大值是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對...