zoukankan      html  css  js  c++  java
  • Leetcode-Best Time to Buy and Sell Stock -java

    题目:

    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.


    分析:

    思路:贪心算法找出股票最低用来计算最大收益。同一时候保存眼下为止的最大收益,并依据产生的新的最大收益是否是最大来进行更新。

    代码:
    public class Solution {
        public int maxProfit(int[] prices) {
            int lowest = 0;
            int maxProfit = 0;
            if(prices.length > 0){
                lowest = prices[0];
                for(int i = 0; i < prices.length; i++){
                    if(lowest > prices[i]){
                        lowest = prices[i];
                    }
                    maxProfit = Math.max(maxProfit, prices[i] - lowest);
                }
            }
            return maxProfit;
        }
    }
    



    PS:
    Math.max(val1, val2);用来比較val1和val2的大小

  • 相关阅读:
    hdu 1042 N!
    hdu 1002 A + B Problem II
    c++大数模板
    hdu 1004 Let the Balloon Rise
    hdu 4027 Can you answer these queries?
    poj 2823 Sliding Window
    hdu 3074 Multiply game
    hdu 1394 Minimum Inversion Number
    hdu 5199 Gunner
    九度oj 1521 二叉树的镜像
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/6978914.html
Copyright © 2011-2022 走看看