题解 | #字符串的排列#
买卖股票的最好时机
http://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec
动态规划,设置一个min, 保存之前遇到的最小值。dp[i] = Math.max(prices[i]-min, dp[i-1])
public int maxProfit (int[] prices) {
// write code here
int[] dp = new int[prices.length];
dp[0] = 0;
int min = prices[0];
for (int i = 1; i < prices.length; i++) {
min = min > prices[i] ? prices[i] : min;
dp[i] = Math.max(prices[i] - min, dp[i-1]);
}
return dp[prices.length-1];
} 
查看3道真题和解析