题目:

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

示例 1:

输入: [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。

示例 2:

输入: [1,2,3,4,5]
输出: 4
解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

示例 3:

输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

本来以为这道题的解法和之前121题的解法相似,然后发现结果并不正确。在网上找到了大神们的解法思路和代码都很简单。

思路:与121题不同,在本题中没有限制买卖的次数,因此只要可以赚钱,都可以买卖。即只要prices数组中后一元素大于前一元素都可以买卖。代码如下:

class Solution {
    public int maxProfit(int[] prices) {
        int result=0;
        for(int i=1;i<prices.length;i++)
        {
            if(prices[i]-prices[i-1]>0)
                result=result+prices[i]-prices[i-1];
        }
        return result;
    }
}

时间复杂度:O(n)空间复杂度:O(1)

LeetCode笔记——122买卖股票的最佳时机Ⅱ相关推荐

  1. leetcode系列-122.买卖股票的最佳时机 II

    题目描述:给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格.在每一天,你可以决定是否购买和/或出售股票.你在任何时候 最多 只能持有 一股 股票. 你也可以先购 ...

  2. [LeetCode刷题笔记]714 - 买卖股票的最佳时机含手续费(C++/Python3/Java/动态规划/贪心)

    一.题目描述 给定一个整数数组 prices 和 整数 fee ,其中 prices[i] 表示第 i 天的股票价格,fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每笔交易都需要付 ...

  3. _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II

    _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机.122.买卖股票的最佳时机II 题目列表 121.买卖股票的最佳时机 122.买卖股票的最佳时机II 1 ...

  4. _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II 、55.跳跃游戏、45.跳跃游戏II

    _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II .55.跳跃游戏.45.跳跃游戏II 题目列表 122.买卖股票的最佳时机II 55.跳跃游戏 45 ...

  5. 代码随想录算法训练营第三十二天_第八章_贪心算法 | 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II

    LeetCode 122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...

  6. 力扣刷题day42|121买卖股票的最佳时机、122买卖股票的最佳时机II

    文章目录 121. 买卖股票的最佳时机 贪心思路 动态规划思路 动态规划五部曲 122. 买卖股票的最佳时机II 贪心思路 动态规划思路 动态规划五部曲 121. 买卖股票的最佳时机 力扣题目链接 给 ...

  7. 122. 买卖股票的最佳时机 II

    121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 III 188. 买卖股票的最佳时机 IV 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳 ...

  8. 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划

    文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...

  9. day52| ● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II

    121. 买卖股票的最佳时机 1.代码 class Solution { public:int maxProfit(vector<int>& prices) { vector< ...

最新文章

  1. 【Netty】从 BIO、NIO 聊到 Netty
  2. l1范数最小化快速算法【文献阅读】
  3. linux 如何对文件解压或打包压缩
  4. 采用加密技术进行数据保护的5大优势
  5. 深入解析thinkphp中的addAll方法
  6. 计算机二级考试试题在线看,【TOP182015年全国计算机二级考试试题题库.doc文档免费在线阅读材料】...
  7. Java 高级类(上) —— 抽象类和接口
  8. 【01】blockqote美化
  9. 洛谷 P2764(最小路径覆盖=节点数-最大匹配)
  10. 软件设计师易错题分析总结
  11. 通信原理 | 信道容量
  12. Oracle的同义词
  13. pdf在线免费去水印 以及图片去水印 方法
  14. 坦克大战java_Java课程设计——坦克大战
  15. Multisim设置图纸大小的详细步骤
  16. 网络空间资产测绘小结2
  17. window10 1060 caffe 安装
  18. 多模块,Maven无法下载依赖,仓库查看有这个版本但是无法下载,点reload也没用
  19. 8分频verilog线_任意分数分频Verilog实现
  20. 爱普生Epson Stylus Photo R260 打印机驱动

热门文章

  1. c++ abs 取绝对值函数
  2. 好玩的手游有哪些?最近很多玩家朋友都让我推荐,那么就给大家分享下!
  3. 页面相关的数据存储(缓存及Web Storage)
  4. D.E.Shaw拟以8000万美元收购SunEdison光伏电站股权
  5. 看完不会的来打我!Mycat和Mysql搭建高可用企业数据库集群
  6. BJFU 1399 警察抓小偷
  7. 计算机多媒体处理的是什么意思,多媒体系统是什么意思有什么组成
  8. Python中使用Turtle绘制阴阳鱼(小白的学习分享)
  9. 手机号地区编码SQL语句
  10. 渗透测试-红/蓝队Hvv技术手册/面试