【LeetCode题解】121. Best Time to Buy and Sell Stock
2017-05-19 14:20
155 查看
题意简述为,有一个数组prices存放每天股票的交易价格,并且规定在一天里只能进行买或卖一项事务
解题思路为:
(1)设立变量curMin记录交易价格的最低值。设立变量maxP记录最大收益值
(2)对数组进行遍历,在位置i,比较prices[i]和curMin进行对curMin值的更新,比较maxP和prices[i] - curMin的最大值对maxP进行更新
代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.empty() || prices.size() == 1){
return 0;
}
int curMin = prices[0];
int maxP = 0;
for(int i=0; i < prices.size(); i++){
if(prices[i] < curMin) curMin = prices[i];
maxP = max(maxP, prices[i]-curMin);
}
return maxP;
}
};
解题思路为:
(1)设立变量curMin记录交易价格的最低值。设立变量maxP记录最大收益值
(2)对数组进行遍历,在位置i,比较prices[i]和curMin进行对curMin值的更新,比较maxP和prices[i] - curMin的最大值对maxP进行更新
代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.empty() || prices.size() == 1){
return 0;
}
int curMin = prices[0];
int maxP = 0;
for(int i=0; i < prices.size(); i++){
if(prices[i] < curMin) curMin = prices[i];
maxP = max(maxP, prices[i]-curMin);
}
return maxP;
}
};
相关文章推荐
- LeetCode题解:Ugly Number
- LeetCode题解——Remove Element
- LeetCode题解-112-Path Sum
- LeetCode 3. Longest Substring Without Repeating Characters题解python
- LeetCode 96. Unique Binary Search Trees 题解
- leetcode题解
- LeetCode题解:Single Number II
- [LeetCode]题解(python):006-ZigZag Conversion
- leetcode题解 632. Smallest Range
- Leetcode题解 28. Implement strStr()
- LeetCode题解(Golang实现)--Median of Two Sorted Arrays
- Leetcode题解:55. Jump Game
- Leetcode题解-24. Swap Nodes in Pairs
- leetcode题解-1. Two Sum
- LeetCode题解——Flatten Binary Tree to Linked List
- [LeetCode]题解(python):088-Merge Sorted Array
- Leetcode 435. Non-overlapping Intervals题解
- Leetcode题解:11. Container With Most Water
- 【LeetCode题解】338.Counting Bits
- Leetcode题解 171. Excel Sheet Column Number