leetcode-java买股票的最佳时机
买股票的最佳时机
题目描述:
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 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买股票的最佳时机相关推荐
- LeetCode——第121题:买股票的最佳时机
题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票 ...
- My Eighty-sixth Page - 买股票的最佳时机Ⅲ - By Nicolas
这篇page是针对leetcode上的123.买股票的最佳时机Ⅲ所写的.小尼先简单的说明一下这道题的意思,就是我们给定一个数组,它的第i个元素表示的是一支股票在第i天的价格,我们需要设计一个算法表示我 ...
- 买股票的最佳时机(六种题解dp)
引言 买股票的最佳时机类的题目也是很经典的动态规划题目,出题人通过各种花里胡哨的买股票方法来考察(虐待)你,下面我们就开始看看一类的题目的各种花样: 买股票的最佳时机 给定一个数组 prices ,它 ...
- LeetCode买卖股票的最佳时机系列总结
LeetCode买卖股票的最佳时机系列总结 此类动态规划从二维动规理解后优化到一维动规,部分题目还可以用到贪心. 目录: 121 买卖股票的最佳时机1 122 买卖股票的最佳时机2 123 买卖股票的 ...
- python购买股票_动态规划python实现-买股票的最佳时机
买股票的最佳时机(动态规划python实现) 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大 ...
- leetcode_买股票的最佳时机----Python
题目名称深深地吸引了我 买股票的最佳时机1 题目 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的 ...
- 【Leetcode122 -买股票的最佳时机 II Best Time to Buy and Sell Stock II】(C语言)
目录 买股票的最佳时机II 测试单元 题目分析 标准版 巧妙版(简称投机取巧版) 买股票的最佳时机II 给定一个数组,它的第i个元素是一支给定股票第i天的价格. 设计一个算法来计算你所 ...
- 买股票的最佳时机--dp问题
dp问题,一般想再加入一个数的下一个状态的可能性 问题1:买股票的最佳时机1 给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格. 在每一天,你可能会决定购买和/或出售股 ...
- 121 买股票的最佳时机
121 买股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格. 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 ...
最新文章
- 浅显易懂 Makefile 入门 (03)— 目标文件搜索(VPATH 和 vpath 的区别和使用)、隐含规则
- codevs 1082 线段树区间求和
- 《分布式操作系统》知识点(1~7)一
- 简历的正确发音和习惯用法
- NodeJS开发c++扩展模块
- Java 集合 之 Vector
- oracle克隆方式安装,克隆Oracle实现快速安装数据库软件
- 基于JAVA+Spring+MYSQL的美食网站系统
- 实训汇编语言设计——16位数拆分为4组
- Linux笔记(五) - 用户管理命令
- js制作随机抽奖,(指定数字范围内随机出现一个数字)
- Coin3D三维可视化教程4
- 360WiFi的服务器网站,360随身无线wifi怎么搭建web认证网页
- 目前计算机已经发展到哪个阶段,目前电子计算机处于哪个阶段?计算机发展的四个阶段...
- matlab special,matlab的special函数用法
- php禁止贪婪,php正则表达式中贪婪与非贪婪介绍
- iOS复习中有关SDWebImage可能知识点总结
- 新手学习 python 的好工具:PyScripter
- redis入门(三)
- 云南省科协第十届学术年会在曲靖开幕