当前位置: 首页 > news >正文

【LeetCode】122. 买卖股票的最佳时机 II

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

区间内,差值最大,注意并不是最低值和最大值差值就是最大,例如,3,7,1,3,4。差值最大是7-3

解法一

  1. 若价格一直往下跌,不买入
  2. 假设第一天买入,若买入后价格往下跌,应该下一天买入
  3. 若下一天价格往下跌,应该当天卖出
  4. 若到最后一天,应该清盘,若之前买入卖出,否则维持现状
public int maxProfit(int[] prices) {if (prices == null || prices.length <= 1)return 0;int maxProfit = 0, minPrice = prices[0];for (int i = 1; i < prices.length; i++) {if (prices[i] < minPrice) {          // 若价格比之前低,应该买入minPrice = prices[i];} else if (i == prices.length - 1) { // 最后一天,强制清盘if (prices[i] - minPrice > 0) {maxProfit += (prices[i] - minPrice);}} else if (prices[i + 1] < prices[i]) { // 若后一天价格比当前低&&之前已经买入,就应该当天卖出maxProfit += (prices[i] - minPrice);minPrice = prices[i + 1];}System.out.println(String.join(",", String.valueOf(prices[i]), String.valueOf(minPrice), String.valueOf(maxProfit)));}return maxProfit;
}

解法二

贪心算法,若当天价格比前一天高,即可卖出,获取利润,统计结果利润

public int maxProfit(int[] prices) {if (prices == null || prices.length <= 1)return 0;int maxProfit = 0;for (int i = 1; i < prices.length; i++) {maxProfit += Math.max(0, prices[i] - prices[i - 1]);}return maxProfit;
}
http://www.sczhlp.com/news/135850/

相关文章:

  • VSCode 使用技巧笔记
  • 【LeetCode】55. 跳跃游戏
  • Ansible + Docker 部署 Apache Kafka 3.9 集群
  • 【LeetCode】45. 跳跃游戏 II
  • 苏州网络科技公司建网站制作网站需要多少费用
  • o2o网站建设多少钱山西大同网站建设价格
  • 网站宣传创意视频建购物的网站需要多少钱
  • 360提交网站备案宁波市江北区庄桥街道工程建设领域网站
  • 互联网网站开发创业计划书wordpress 仿百度文库
  • 个人网站开发与设计摘要2015网站建设
  • 免费表白网站制作wordpress建站方法
  • 溧阳网站定制上海装修公司排名大全
  • 扁平化个人网站网站建设 知乎
  • 图片制作网页嘉兴做网站优化的公司
  • 网站建设虚拟英文seo外链发布工具
  • 【LeetCode】121. 买卖股票的最佳时机
  • 宏润建设集团有限公司网站潍坊企业做网站
  • 南京电商网站开发公司德州住房和城乡建设局网站
  • 做优惠卷网站网站办事服务建设情况
  • 京建站公司石家庄高铁招聘信息网
  • CCPC2024-Zhengzhou G Same Sum(线段树)
  • 快速建站代理网站建设概念股
  • 各大网站什么时候恢复彩色网站页面设计模板代码
  • 网站建设代码结构互联网营销师证书是国家认可的吗
  • 可以做彩字的网站装饰公司简介模板
  • 如何 攻击网站有关网站开发的创意
  • 阿里云oss做视频网站python基础教程怎么样
  • 北京网站优化公司哪家好库尔勒网站建设公司
  • 建立自己的网站怎么样做网站模板下载百度云链接怎么做
  • 博客做资讯类网站h5商城网站建站