作者:
JIWP (JIWP)
2025-04-03 12:50:202874. Maximum Value of an Ordered Triplet II
寫每日比掃墓快樂
思路:
昨天那題的加強版
找出最大的nums[i] * diff
iMax為nums[i]之前最大的數
diff為到nums[i]時最大的差值(iMax-nums[i])
就這樣維護這兩個數就可以得到答案了
golang code :
func maximumTripletValue(nums []int) int64 {
iMax, diff, ans, n := max(nums[0], nums[1]), nums[0]-nums[1], 0, len(nums)
for i := 2; i < n; i++ {
ans = max(ans, diff*nums[i])
diff = max(diff, iMax-nums[i])
iMax = max(iMax, nums[i])
}
return int64(ans)
}