[閒聊] 每日leetcode 75 - Day8 - 2

作者: yam276 ('_')   2025-06-10 14:46:02
1732. Find the Highest Altitude
題目:
騎車大師騎車跑山
每次經過的點是相對高度
計算騎車大師經過的最高點多高
思路:
直接累加 定期更新最高點
這一題有點太簡單了
Code:
impl Solution {
pub fn largest_altitude(gain: Vec<i32>) -> i32 {
let mut highest = 0;
let mut height = 0;
for h in gain {
height += h;
highest = highest.max(height);
}
highest
}
}
也可以用 scan 來鏈式解:
gain.iter()
.scan(0, |acc, &x| {
*acc += x;
Some(*acc)
})
.chain(std::iter::once(0))
.max()
.unwrap()
.chain() 這行只是設定起始值是高度 0 的 iterator
因為 .scan() 沒有考慮到起始點
acc 是每次回傳的狀態
&x 則是每次取出的 iterator
作者: oin1104 (是oin的說)   2025-06-10 15:05:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com