題目:在陣列中,數字減去它右邊的數字得到乙個數對之差。求所有數對之差的最大值。例如在陣列
中,數對之差的最大值是
11,是
16減去
5的結果。
動態規劃:
diff[i]表示以arr[i]為減數的最大值,diff[i] (i=1..n-1 )的最大值即為所求
求diff[i + 1] 為arr[0]...arr[i]裡的最大值減去arr[i+1]
int max_diff2(int arr, int n)
return maxdiff;
}
轉化為最大子陣列和:
arr[i] - arr[i-2] = (arr[i]-arr[i-1]) + (arr[i-1] - arr[i-2])
int max_diff(int arr, int n)
int cursum = arr[0];
int maxsum = arr[0];
for (int i = 1; i < n - 1; ++i)
return maxsum;
}
python最大數的下標 演算法 最大下標差
題目 given an array arr,find the maximum j i such that arr j arr i 乙個陣列,找出最大下標差j i,且a i 分析 i必定在以第乙個元素開始的降序列中 可以採用反正發證明 假設存在最大下標距離的兩個下標i和j,i python codin...
尋找最大數
描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n,m n可能是乙個很大的整數,但其位數不超過100位,並且保證資料...
尋找最大數
時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 請在整數 n 中刪除m個數字,使得餘下的數字按原次序組成的新數最大,比如當n 92081346718538,m 10時,則新的最大數是9888 輸入 第一行輸入乙個正整數t,表示有t組測試資料 每組測試資料佔一行,每行有兩個數n...