知识点
贪心
思路
由于每天都可以进行交易,我们可以只要第二天比第一天的段,而舍弃下降的段。因此只需要枚举相邻的两段,当第二天大于第一天,则可以更新答案。
时间复杂度
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; } };