Java 买卖股票的最佳时机
买卖股票的最佳时机
http://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec
- 首先排除直接进行 Arrays.sort(),因为我们没法保证股票不会跌价;
- 最少赚取的钱应该为0,不会小于零,所以定义 max 初始值为 0;
- 两个循环,外循环是买价,内循环是卖价,内循环是在外循环天数的基础上加一;
- 然后用三目运算进行判断即可。
代码如下: public int maxProfit (int[] prices) {
// write code here
int length = prices.length;
if (length <= 0) return 0;
int max = 0;
for (int i = 0; i < length - 1; i ++) {
for (int j = i + 1; j < length; j ++) {
max = (prices[j] - prices[i] > max ? prices[j] - prices[i] : max);
}
}
return max;
}