LeetCode-121.买卖股票的最佳时机(相关话题:动态规划)
2018-11-05 19:25
387 查看
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
示例 1:
[code]输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。
示例 2:
[code]输入: [7,6,4,3,1] 输出: 0 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。
Java代码:
[code]class Solution { public int maxProfit(int[] prices) { if(0 == prices.length) return 0; int res = 0, min = prices[0]; for(int i = 0; i < prices.length; i++){ if(prices[i] > min) res = Math.max(res, prices[i]-min); min = Math.min(min, prices[i]); } return res; } }阅读更多
相关文章推荐
- LeetCode-123.买卖股票的最佳时机III(相关话题:动态规划)
- LeetCode-122.买卖股票的最佳时机II(相关话题:贪心算法)
- LeetCode题库解答与分析——#121. 买卖股票的最佳时机BestTimeToBuyAndSellStock
- leetcode-买卖股票的最佳时机(动态规划)
- Leetcode121 Best Time to Buy and Sell Stock(买卖股票的最佳时机1)
- Leetcode 121. 买卖股票的最佳时机
- [Java语言] [Leetcode] Best Time to Buy and Sell Stock 买卖股票的最佳时机
- LeetCode 121. Best Time to Buy and Sell Stock (买卖股票的最好时机)
- LeetCode 121. 买卖股票的最佳时机
- Leetcode 买卖股票的最佳时机 II
- [Leetcode] Best time to buy and sell stock 买卖股票的最佳时机
- 【LeetCode-面试算法经典-Java实现】【121-Best Time to Buy and Sell Stock(最佳买卖股票的时间)】
- LeetCode 122. 买卖股票的最佳时机 II
- LeetCode 121. 买卖股票的最佳时机
- [Leetcode] Best time to buy and sell stock iii 买卖股票的最佳时机
- leetcode 121.Best Time to Buy and Sell Stock 股票买卖最佳时间
- [Leetcode]2018.3.22买卖股票的最佳时机 II
- LeetCode 122. 买卖股票的最佳时机 II
- LeetCode 123. 买卖股票的最佳时机 III
- Leetcode 121. Best Time to Buy and Sell Stock 最佳股票售卖时(动态规划,数组,模拟)