【LintCode】买卖股票的最佳时机

来源:互联网 发布:郭德纲合作的网络平台 编辑:程序博客网 时间:2024/04/28 03:16

假设有一个数组,它的第i个元素是一支给定的股票在第i天的价格。如果你最多只允许完成一次交易(例如,一次买卖股票),设计一个算法来找出最大利润。

样例

给出一个数组样例 [3,2,3,1,2], 返回 1 

思路:简单贪心问题,注意处理边界问题


代码如下:

public class Solution {    /**     * @param prices: Given an integer array     * @return: Maximum profit     */    public int maxProfit(int[] prices) {        // write your code here        if(prices.length <= 1)        {            return 0;        }                int ilow = prices[0];        int ians = 0;                for(int i = 1;i < prices.length;i++)        {            if(prices[i] - ilow > ians)            {                ians = prices[i] - ilow;            }                        if(prices[i] < ilow)            {                ilow = prices[i];            }        }                return ians;    }}



原创粉丝点击