#
一天一道LeetCode
(一)题目
(二)解题
题目大意:给定一个数组表示一天之内的股价变化,只有一次买卖机会,如何做到利润最大。
解题思路:考虑采用两个指针i和j以及一个maxpro,第i时刻买,第j时刻卖(i
class Solution {
public:
int maxProfit(vector<int>& prices) {
int n = prices.size();
int maxpro = 0;//表示最大利润
int i = 0;//第i时刻买
for(int j = 1 ; j < n ; j++)
{
if(prices[j]>prices[i]){//当大于买时的价钱时
int temp = prices[j] - prices[i];//计算利润
maxpro = max(maxpro,temp);//更改maxpro,保存最大利润值
}
else
{
i=j;//新的买时刻
}
}
return maxpro;//返回最大利润
}
};