• 99_leetcode_Best Time to Buy and sell Stock


    Say you have an array for which the ith element is the price of a given stock on day i.

    If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the stock), design an algorithm to find the maximum profit

    1:遍历数组;2:每个数字获得该数字之前的最小的数字,并与当时保存的最大值相比較

        int maxProfit(vector<int> &prices)
        {
            if(prices.size() <= 1)
            {
                return 0;
            }
            
            int maxValue = 0;
            int minPrice = prices[0];
            int size = (int)prices.size();
            
            for(int i = 1; i < size; i++)
            {
                if(prices[i] > minPrice)
                {
                    maxValue = (maxValue > prices[i] - minPrice ? maxValue : prices[i] - minPrice);
                }
                else
                {
                    minPrice = prices[i];
                }
            }
            
            return maxValue;
        }


  • 相关阅读:
    NOI 题库 7084
    NOI 题库 7218
    POJ 2386 题解
    NOI 题库 8465
    NOI 题库 2753
    NOI 题库 1792
    P3709 大爷的字符串题
    初探莫队
    P1026 统计单词题解
    AC自动机小记
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7141522.html
Copyright © 2020-2023  润新知