a為輸入的陣列
用個變數來存目前掃描到的最大值(假設此變數為x),由於i必須嚴格<j,所以當往後掃描a[i]時有比x還大的值,就可以把x更新,之後用此值減去a[i]必可以產生更優解
然後除了a[0],每次都用x-a[i]去更新答案(取max)
證明: (x1為更新後的x) 由於是往後掃描所以符合題目要求(i<j),且x1>x 所以對於任何a[i], x1-a[i]>x-a[i]
a為輸入的陣列
用個變數來存目前掃描到的最大值(假設此變數為x),由於i必須嚴格<j,所以當往後掃描a[i]時有比x還大的值,就可以把x更新,之後用此值減去a[i]必可以產生更優解
然後除了a[0],每次都用x-a[i]去更新答案(取max)
證明: (x1為更新後的x) 由於是往後掃描所以符合題目要求(i<j),且x1>x 所以對於任何a[i], x1-a[i]>x-a[i]
有點小亂
敘述中的 $a[i]$ 和 $i$ 表示的「$i$」是不一樣的東西
稍微改了一些:
$a$ 為輸入的陣列
遍歷 $a_n$
存目前掃描到的最大值 $a_i$
由於 $i$ 必須嚴格小於 $j$,所以當往後掃描 $a_n$ 時有比 $a_i$ 還大,就可以把 $a_i$ 更新,之後用此值減去 $a_n$ 必可以產生更優 $(a_i-a_j)$ 解
證明: ($a_{i'}$ 為更新後的 $a_i$) 由於 $a_n$ 是往後掃描所以符合題目要求 $(i<j)$,且 $a_{i'}>a_i$ 所以對於任何 $a_j$,必符合 $a_{i'}-a_j>a_i-a_j$