时间复杂度O(n),空间复杂度O(1)

最大差值

http://www.nowcoder.com/questionTerminal/1f7675ae7a9e40e4bd04eb754b62fd00

 // 由题意可知,对于当前的某个数A[i],要求前面某个位置上的数使得二者的差值最大
    // 即要是 前面的某个位置上的数越小越好,所以可以遍历一篇数组,用一个变量来记录前面某个数字的最小值即可
    public int getDis(int[] A, int n) {
        if (A == null || A.length <= 2) {
            return 0;
        }
        int res = 0;
        int currMin = A[0];
        for (int i = 1; i < A.length; i++) {
            res = Math.max(res, A[i] - currMin);
            currMin = Math.min(currMin, A[i]);
        }
        return res;
    }
全部评论

相关推荐

01-21 12:26
暨南大学 golang
点赞 评论 收藏
分享
评论
6
1
分享

创作者周榜

更多
牛客网
牛客企业服务