买股票的最佳时机

题目描述:

如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]
输出: 5
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
示例 2:输入: [7,6,4,3,1]
输出: 0
解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

问题分析:

只看这一道题的话,难度一般,三种方法
第一种:双重循环求解
第二种:一重循环求解
第三种:动态规划求解

代码展示(已验证):

第一种:双重循环求解

 // 第一种方法:双重循环直接求解static int maxprofit1(int[] prices){int maxnum = 0;for(int i=0;i<prices.length; i++) {for(int j=i;j<prices.length;j++){if(prices[j]-prices[i]>maxnum)maxnum = prices[j]-prices[i];}}return maxnum;}

第二种:一重循环求解

 // 第二种方法 使用一次循环求解static int maxprofit2(int[] prices){if(prices.length<2)return 0;int min=prices[0],maxnum=0;for(int i=1;i<prices.length;i++){if(prices[i]<min)min = prices[i];if(prices[i]-min>maxnum)maxnum = prices[i]-min;}return maxnum;}

第三种:动态规划求解

 // 第三种方法 动态规划求解static int maxprofit3(int[] prices){if(prices.length <=1)return 0;int min=prices[0],max=0;for(int i=1;i<prices.length;i++){max = Math.max(max, prices[i]-min);min = Math.min(min, prices[i]);}return max;}

泡泡:

emmmm,不想说什么了,就这样吧

leetcode-java买股票的最佳时机相关推荐

  1. LeetCode——第121题:买股票的最佳时机

    题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票 ...

  2. My Eighty-sixth Page - 买股票的最佳时机Ⅲ - By Nicolas

    这篇page是针对leetcode上的123.买股票的最佳时机Ⅲ所写的.小尼先简单的说明一下这道题的意思,就是我们给定一个数组,它的第i个元素表示的是一支股票在第i天的价格,我们需要设计一个算法表示我 ...

  3. 买股票的最佳时机(六种题解dp)

    引言 买股票的最佳时机类的题目也是很经典的动态规划题目,出题人通过各种花里胡哨的买股票方法来考察(虐待)你,下面我们就开始看看一类的题目的各种花样: 买股票的最佳时机 给定一个数组 prices ,它 ...

  4. LeetCode买卖股票的最佳时机系列总结

    LeetCode买卖股票的最佳时机系列总结 此类动态规划从二维动规理解后优化到一维动规,部分题目还可以用到贪心. 目录: 121 买卖股票的最佳时机1 122 买卖股票的最佳时机2 123 买卖股票的 ...

  5. python购买股票_动态规划python实现-买股票的最佳时机

    买股票的最佳时机(动态规划python实现) 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大 ...

  6. leetcode_买股票的最佳时机----Python

    题目名称深深地吸引了我 买股票的最佳时机1 题目 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的 ...

  7. 【Leetcode122 -买股票的最佳时机 II Best Time to Buy and Sell Stock II】(C语言)

    目录 ​​​​​​​ 买股票的最佳时机II 测试单元 题目分析 标准版 巧妙版(简称投机取巧版) 买股票的最佳时机II 给定一个数组,它的第i个元素是一支给定股票第i天的价格. 设计一个算法来计算你所 ...

  8. 买股票的最佳时机--dp问题

    dp问题,一般想再加入一个数的下一个状态的可能性 问题1:买股票的最佳时机1 给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格. 在每一天,你可能会决定购买和/或出售股 ...

  9. 121 买股票的最佳时机

    121 买股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格. 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 ...

最新文章

  1. 浅显易懂 Makefile 入门 (03)— 目标文件搜索(VPATH 和 vpath 的区别和使用)、隐含规则
  2. codevs 1082 线段树区间求和
  3. 《分布式操作系统》知识点(1~7)一
  4. 简历的正确发音和习惯用法
  5. NodeJS开发c++扩展模块
  6. Java 集合 之 Vector
  7. oracle克隆方式安装,克隆Oracle实现快速安装数据库软件
  8. 基于JAVA+Spring+MYSQL的美食网站系统
  9. 实训汇编语言设计——16位数拆分为4组
  10. Linux笔记(五) - 用户管理命令
  11. js制作随机抽奖,(指定数字范围内随机出现一个数字)
  12. Coin3D三维可视化教程4
  13. 360WiFi的服务器网站,360随身无线wifi怎么搭建web认证网页
  14. 目前计算机已经发展到哪个阶段,目前电子计算机处于哪个阶段?计算机发展的四个阶段...
  15. matlab special,matlab的special函数用法
  16. php禁止贪婪,php正则表达式中贪婪与非贪婪介绍
  17. iOS复习中有关SDWebImage可能知识点总结
  18. 新手学习 python 的好工具:PyScripter
  19. redis入门(三)
  20. 云南省科协第十届学术年会在曲靖开幕

热门文章

  1. 做UI自动化一定要跨过这些坑
  2. Origin_正态检验以及频率统计
  3. qsort函数排序数据 and 模拟实现qosrt函数的功能(详解)
  4. 14. 23种经典设计模式-27-装饰者模式
  5. 自动生成砌体加筋能否按照植筋的构造生成?
  6. mac真的那么好用吗?
  7. 车载融合通信调度系统介绍
  8. 教你低成本甚至免费开通微信小程序商城
  9. 计算机专业学生大学四年的自我规划
  10. MySQL数据库备份【2】