【发布时间】:2022-07-19 13:38:49
【问题描述】:
pub fn max_profit(prices: Vec<i32>) -> i32 {
let mut max_overall = 0;
let mut max_at_i = 0;
for i in 1..prices.len() {
max_at_i = cmp::max(0, max_at_i += prices[i] - prices[i-1]);
max_overall = cmp::max(max_overall,max_at_i);
}
return max_overall;
}
我正在练习 leetcode,并通过了一个解决方案。出于某种原因,它说 max 函数中的“max_at_i += prices[i] - prices[i-1]”期待 i32,但收到了“()”。但是当我将 for 循环更改为
for i in 1..prices.len() {
max_at_i += prices[i] - prices[i-1];
max_at_i = cmp::max(0, max_at_i);
max_overall = cmp::max(max_overall,max_at_i);
}
它工作得很好。为什么会出现这个问题?
【问题讨论】:
标签: rust