Re: [閒聊] 每日leetcode
2874. 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)
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.82.145.154 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1743655823.A.74D.html
→
04/03 12:59,
8月前
, 1F
04/03 12:59, 1F
討論串 (同標題文章)
完整討論串 (本文為第 1385 之 1548 篇):