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的情况


  • 相关阅读:
    this指向
    作用域链
    入门
    一、servlet之初见
    jdbc之mysql
    第六章、树和二叉树
    第七章、暴力求解法
    机试
    第十三章、字符串
    栈和队列
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10800312.html
Copyright © 2011-2022 走看看