leetcode121. 买卖股票的最佳时机
题目
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。
注意:你不能在买入股票前卖出股票。
思路
价格最低点卖出
解题方案
class Solution {
public int maxProfit(int[] prices) {
if(prices.length == 0) return 0; // 有数组时最好先判断数组的长度是否为0的特殊情况
int res = 0; // 存放利润结果值
// 存放最低价格 - 目标是最低价格卖出
int minPrice = prices[0];
for(int i = 1; i< prices.length; i++){
res = Math.max(res,prices[i] - minPrice);
minPrice = Math.min(minPrice,prices[i]);
}
return res;
}
}