算法1
O(n)
用两个值来记录当前最小的买入金额和最大的利润即可
1. 如果当前的值小于最小值,将其设为最小值
2. 求出当前值与最小值的差值
3. 如果利润大于最大利润,更新最大利润
Java 代码
class Solution {
public int maxDiff(int[] nums) {
if(nums==null||nums.length==0)
return 0;
int maxdiff = 0;
int min = nums[0];
for(int i = 1;i<nums.length;i++){
if(nums[i]<min) min = nums[i];
int diff = nums[i]-min;
if(diff>maxdiff)maxdiff = diff;
}
return maxdiff;
}
}
666