知识点
贪心
思路
由于每天都可以进行交易,我们可以只要第二天比第一天的段,而舍弃下降的段。因此只需要枚举相邻的两段,当第二天大于第一天,则可以更新答案。
时间复杂度
AC Code(C++)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param prices int整型vector
* @return int整型
*/
int max_profitv2(vector<int>& prices) {
// 统计所有的上升段
int n = prices.size();
int res = 0;
for (int i = 1; i < n; i ++) {
if (prices[i] >= prices[i - 1]) res += prices[i] - prices[i - 1];
}
return res;
}
};

京公网安备 11010502036488号