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


  • 相关阅读:
    如何快速建立自己的知识体系
    让你的网站变成灰色
    Java多线程-锁升级
    冰河正则大全
    Win硬盘/U盘设置图片
    MySQL——三范式
    MySQL——事务
    MySQL_explain
    HDFS的一些常用指令
    Hadoop集群的搭建准备
  • 原文地址:https://www.cnblogs.com/mqxnongmin/p/10800312.html
Copyright © 2011-2022 走看看