题目

给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。

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

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

实例

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

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

注意:你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。

代码

class Solution {public int maxProfit(int[] prices) {int profit = 0;for (int i = 0; i < prices.length - 1; i++) {if (prices[i] < prices[i + 1]) {//后一天的价格比前一天高,则卖出profit += prices[i + 1] - prices[i];}}return profit;}
}

算法思想

这个算法还是很简单的,(贪心算法),当前价格,如果当前价格i比i+1高,则不是买入点,
则继续判断下一个位置。

如果当前位置i的价格比i+1的价格低,则在当前位置买入,知道i+n比i+n+1大时,卖出。

继续下一轮判断。

说的简单一点就是:只要后项大于前项,则累加到结果值中。

乾坤未定,你我皆是黑马。

客官都看这了,点个赞呗!

买卖股票的最佳时机 II Java (贪心算法)相关推荐

  1. leetcode 122. 买卖股票的最佳时机 II(贪心算法)

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  2. 122. 买卖股票的最佳时机 II008(贪心算法+思路)

    一:题目 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你 ...

  3. 【LeetCode - 122】买卖股票的最佳时机 II(贪心 或 dp)

    题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 给定一个数组,它的第 i 个元素是一支给定股票第 i ...

  4. JAVA刷Leecode-贪心算法-区间问题-买卖股票的最佳时机 II

    JAVA刷Leecode-贪心算法 算法思想 区间问题-买卖股票的最佳时机 II(122.,easy) 题目描述 输入输出样例 示例1 示例 2: 解题思路: 题解 解题思路:贪心算法 题解 资源学习 ...

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

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

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

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

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

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

  8. 算法训练Day49 | Leetcode121. 买卖股票的最佳时机(只能买卖一次);LeetCode122. 买卖股票的最佳时机II(可以买卖多次)

    目录 Leetcode121. 买卖股票的最佳时机 方法一:暴力解法 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考与收获 方法二:贪心算法 1. 思路 2. 代码实现 3. 复杂度分析 方 ...

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

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

  10. LintCode领扣算法问题答案:150. 买卖股票的最佳时机 II

    150. 买卖股票的最佳时机 II 描述 给定一个数组 prices 表示一支股票每天的价格. 你可以完成任意次数的交易, 不过你不能同时参与多个交易 (也就是说, 如果你已经持有这支股票, 在再次购 ...

最新文章

  1. 如何解决C/C++中stack overflow问题
  2. python RuntimeError: maximum recursion depth exceeded
  3. flutter 图解_Flutter自绘组件:微信悬浮窗(三)
  4. MySQL查询出2门及2门以上不及格者的平均成绩
  5. HTML rel 属性
  6. 浅谈JavaScript继承
  7. Lync 小技巧-17-查询Lync 2013聊天记录
  8. 如何在Github上找到“最受欢迎的存储库”? [关闭]
  9. 台式电脑备用电源_台式电源哪家稳?华硕 TUF GAMING六年质保,坚如磐石_电脑电源...
  10. 采矿协议_采矿电信产品推荐
  11. hive中groupby优化_工作中总结的关于hive的优化方案
  12. js划词翻译、屏幕取词,取词位置获取(真正解决定位问题)
  13. Unable to find setter method for attribute: [commandName]
  14. Matlab更改计算机用户名
  15. 程序员的工作总结(2017-12-04)
  16. 准备写个linux下的千千静听
  17. IDEA 出现问题:PSI and index do not match 解决方案
  18. 如何破解Amazon 登陆 metadata1值?Amazon 登陆 metadata1 形成的主要混淆的js研究
  19. Web端与App端自动化测试框架
  20. “Ipad Mini 12月7日在国内上市时都需要摇号预订

热门文章

  1. VBS教程--摘自百度百科
  2. python星号直角三角形边长公式_三角形边长计算公式大全
  3. 国信证券有限责任公司关于创设南航认沽权证的公告
  4. 游戏制作之路(3)Blender制作极简动画
  5. git cz 代替 git commit,让提交信息更加明确
  6. BitTorrent 性能卓越的原因
  7. 计算机导论知识组织结构与分类体系,计算机导论论文参考
  8. 台式电脑开机显示蓝屏 检查计算机上的病毒,电脑出现蓝屏问题的诊断以及处理的方法...
  9. 主流手机CPU及机型介绍!手机CPU生产厂商介绍!高通QSD8250、MSM8255、TI OMAP 3630、nVIDIA Tegra 2介绍
  10. 家用智能摄像头横评:小米、华为海雀、TP-LINK、智汀