动态规划-试题(6)-最大差值

来源:互联网 发布:淘宝助理怎样上架历史 编辑:程序博客网 时间:2024/06/16 13:07

最大差值

/**
* 来源:美团点评2016
* 来源:http://t.cn/RyKorUW
*
* 有一个长为n的数组A,求满足0≤a≤b

分析

Fi = A[i] - min{A[0]..A[i-1]}

max{F[0]…F[n-1]}即为所求。

代码

public static int getDis(int[] A, int n) {        Integer[] F = new Integer[n];        F[0] = 0;        int currMin = A[0];        for (int i = 1; i < n; i++) {            if (currMin < A[i]){                F[i] = A[i] - currMin;            }else {                currMin = A[i];                F[i] = 0;            }        }        Collections.sort(Arrays.asList(F));        return F[n-1];    }
原创粉丝点击