你设计一个算法来计算可以获得的最大收益。
买卖股票的最好时机
http://www.nowcoder.com/questionTerminal/64b4262d4e6d4f6181cd45446a5821ec
假设你有一个数组,其中第\ i i 个元素是股票在第\ i i 天的价格。
你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。
贪心法解决。每一步记录
import java.util.*; public class Solution { /** * * @param prices int整型一维数组 * @return int整型 */ public int maxProfit (int[] prices) { if (prices.length == 0 || prices.length == 1) return 0; int min = prices[0]; int max = 0; for (int i = 0; i < prices.length; i++) { if (min > prices[i]) min = prices[i]; if (max < prices[i] - min) { max = prices[i] - min; } } return max; } }