买卖股票的最好时机

买卖股票的最好时机:

假设你有一个数组,其中第 i\ i i 个元素是股票在第 i\ i i 天的价格。

你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。

示例1
输入

[1,4,2]
返回值

3
示例2
输入

[2,4,1]
返回值

2
public class Solution {
    public int maxProfit (int[] prices) {
        // write code here
        int minVal = prices[0],profit=0;
        for(int i=1; i<prices.length; i++){
            if(prices[i] < minVal) minVal = prices[i];   //每次找到最小
            profit = Math.max(profit,prices[i] - minVal);   //每一步找到最佳
        }
        
        return profit;
    }
}
posted @ 2021-01-29 11:16  xiaoff  阅读(125)  评论(0编辑  收藏  举报