121 Best Time to Buy and Sell Stock 买卖股票的最佳时机

Posted lina2014

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了121 Best Time to Buy and Sell Stock 买卖股票的最佳时机相关的知识,希望对你有一定的参考价值。

假设你有一个数组,其中第 i 个元素是一支给定股票第 i 天的价格。
如果您只能完成最多一笔交易(即买入和卖出一股股票),则设计一个算法来找到最大的利润。
示例 1:
输入: [7, 1, 5, 3, 6, 4]
输出: 5
最大利润 = 6-1 = 5(不是 7-1 = 6, 因为卖出价格需要大于买入价格)
示例 2:
输入: [7, 6, 4, 3, 1]
输出: 0
在这种情况下, 没有交易完成, 即最大利润为 0。
详见:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/description/

Java实现:

class Solution {
    public int maxProfit(int[] prices) {
        int n=prices.length;
        if(n==0||prices==null){
            return 0;
        }
        int mn=prices[0];
        int profit=0;
        for(int i=1;i<n;++i){
            if(prices[i]<mn){
                mn=prices[i];
            }
            if(prices[i]-mn>profit){
                profit=prices[i]-mn;
            }
        }
        return profit;
    }
}

参考:https://www.cnblogs.com/grandyang/p/4280131.html

以上是关于121 Best Time to Buy and Sell Stock 买卖股票的最佳时机的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 121. Best Time to Buy and Sell Stock

121. Best Time to Buy and Sell Stock

121. Best Time to Buy and Sell Stock

121. Best Time to Buy and Sell Stockeasy

121. Best Time to Buy and Sell Stock

121. Best Time to Buy and Sell Stock