zoukankan      html  css  js  c++  java
  • LeetCode OJ

    版权声明:本文为博主原创文章,未经博主同意不得转载。 https://blog.csdn.net/xiezhihua120/article/details/33817395

    Say you have an array for which the ith element is the price of a given stock on day i.

    Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).

    分析:当纯数字分析不清楚的时候。採用数形结合。

    本题求的是波浪线中上升段的和。这种话就比較好攻克了。

    
    
    class Solution {
    public:
        int maxProfit(vector<int> &prices) {
            if(prices.size() < 2) return 0;
            int ret = 0;
            for(int i = 0; i < prices.size() - 1; i++) {
                if(prices[i] < prices[i+1])
                    ret += prices[i+1] - prices[i];
            }
            return ret;
            
        }
    };

    链表或数组迭代时。考虑初始情况,特别是 i = 0 和 i = 1的情况


  • 相关阅读:
    单位根反演学习笔记
    省选模拟测试17
    省选模拟测试16
    省选模拟测试15
    省选模拟测试14
    省选模拟测试13
    P4491 [HAOI2018]染色
    省选模拟测试12
    P4389 付公主的背包
    洛谷P3403
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10800312.html
Copyright © 2011-2022 走看看