Leecode121. 买卖股票的最佳时机

简介: Leecode121. 买卖股票的最佳时机

给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。

如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。

注意你不能在买入股票前卖出股票。

示例 1:

输入: [7,1,5,3,6,4]

输出: 5

解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。

注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。

示例 2:

输入: [7,6,4,3,1]

输出: 0

解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。

解题思路:直接在遍历整个数组的时候如果当前价格 小于 设定最低值,那么就可以把当前的价格赋值给当前价格,如果当前价格 - 最低价格比最大的收益值大,那就把这个差值赋值给最大的收益值,遍历完成之后,那么得到的最大收益值就是所想要的了。

class Solution {
    public int maxProfit(int[] prices) {
        int minPrice =  Integer.MAX_VALUE;
        int maxProfit = 0;
        for(int i = 0; i < prices.length;i++){
            if(prices[i] < minPrice){
                minPrice = prices[i];
            }else if(prices[i] - minPrice > maxProfit){
                maxProfit = prices[i] - minPrice;
            }
        }
        return maxProfit;
    }
}

运行截图如下:


相关文章
|
8月前
|
算法
leetcode题解:121.买卖股票的最佳时机
leetcode题解:121.买卖股票的最佳时机
54 0
|
算法
【动态规划刷题 7】 买卖股票的最佳时机含冷冻期&& 买卖股票的最佳时机含手续费
【动态规划刷题 7】 买卖股票的最佳时机含冷冻期&& 买卖股票的最佳时机含手续费
|
算法
代码随想录算法训练营第五十天 | LeetCode 309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费、股票系列总结
代码随想录算法训练营第五十天 | LeetCode 309. 买卖股票的最佳时机含冷冻期、714. 买卖股票的最佳时机含手续费、股票系列总结
86 1
【LeetCode】第1天 - 121.买卖股票的最佳时机
LeetCode121题:121.买卖股票的最佳时机
104 0
【LeetCode】第1天 - 121.买卖股票的最佳时机
|
算法 Python
每日算法系列【LeetCode 121】买卖股票的最佳时机
每日算法系列【LeetCode 121】买卖股票的最佳时机
|
8月前
|
存储 算法 数据可视化
买卖股票的最佳时机 II(LeetCode 122)
买卖股票的最佳时机 II(LeetCode 122)
|
9月前
|
算法
leetcode-123:买卖股票的最佳时机 III
leetcode-123:买卖股票的最佳时机 III
51 0
|
9月前
|
算法
《LeetCode》—— 买卖股票的最佳时机
《LeetCode》—— 买卖股票的最佳时机
|
存储 算法 Python
每日算法系列【LeetCode 123】买卖股票的最佳时机 III
每日算法系列【LeetCode 123】买卖股票的最佳时机 III
|
算法
LeetCode 122. 买卖股票的最佳时机 II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
98 0

热门文章

最新文章