[Lincode] #149 买卖股票的最佳时机

来源:互联网 发布:淘宝的昵称怎么改手机 编辑:程序博客网 时间:2024/05/17 22:05

假设有一个数组,它的第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        int re = 0;int start = Integer.MAX_VALUE;int end = Integer.MAX_VALUE;for (int n : prices) {if (n < start) {re = Math.max(re, end - start);start = n;end = n;} else if (n > end)end = n;}return Math.max(re, end - start);    }}


原创粉丝点击