Leetcode:121. Best Time to Buy and Sell Stock
2017-12-02 23:51
477 查看
Description:
Say you have an array for which the ith element is the price of a given stock on day i.If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit.
Example 1:
Input: [7, 1, 5, 3, 6, 4]
Output: 5
max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
Example 2:
Input: [7, 6, 4, 3, 1]
Output: 0
In this case, no transaction is done, i.e. max profit = 0.
本题关键是要先买后卖,而且买的价格一定要比卖的少,否则输出为0
class Solution { public: int maxProfit(vector<int>& prices) { if (prices.size() == 0) return 0; int max = 0, min = prices[0]; int profit = 0; for (int i = 1; i < prices.size(); i++) { if (prices[i] < min) { min = prices[i]; } else { if (prices[i] - min > profit) { profit = prices[i] - min; } } } return profit; } };
相关文章推荐
- LeetCode - 121. Best Time to Buy and Sell Stock -思路详解
- LeetCode121 Best Time to Buy and Sell Stock
- LeetCode WIith JS || 121. Best Time to Buy and Sell Stock[求股票的最佳收益,只能交易一次]
- LeetCode 121、122、123、188:Best Time to Buy and Sell Stock
- LeetCode(121) Best Time to Buy and Sell Stock (Java)
- LeetCode 121. Best Time to Buy and Sell Stock--股票买入后再卖出,求最大收益,最多交易一次
- LeetCode 121, 122, 123. Best Time to Buy and Sell Stock i, ii, iii
- leetcode-121 Best Time to Buy and Sell Stock
- Leetcode-121 Best Time to Buy and Sell Stock
- leetcode_121 Best Time to Buy and Sell Stock
- LeetCode 121 Best Time to Buy and Sell Stock
- LeetCode 121. Best Time to Buy and Sell Stock 题解 —— Java
- leetcode121~Best Time to Buy and Sell Stock
- [LeetCode]121 Best Time to Buy and Sell Stock
- LeetCode 121 Best Time to Buy and Sell Stock
- Leetcode 121 Best Time to Buy and Sell Stock
- leetcode解题报告:121 Best Time to Buy and Sell Stock
- leetcode-121-Best Time to Buy and Sell Stock
- Leetcode(W8):121. Best Time to Buy and Sell Stock(动态规划)
- LeetCode 121: Best Time to Buy and Sell Stock