算法:动态规划
动态规划是最值解决问题,找出分步的规则+滑动数组
分步规则{当天的价格i-前面的最小价格min,上一个的最大差价max i-1}
class Solution {
public int maxProfit(int[] arr) {
//在定义最大值的时候,使用Integer.MIN_VALUE
//在定义最小值的时候,使用Integer.MAX_VALUE
int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
//dp max[i-1天最大差价,当天i价格-以前的最小价格]
for (int i=0;i<arr.length;i++){
min = Math.min(min,arr[i]);
max = Math.max(arr[i]-min,max);
}
// System.out.println("max"+max);
return max;
}
}