【算法】【动态规划】最大差值


题目描述

有一个长为n的数组A,求满足0≤a≤b

给定数组A及它的大小n,请返回最大差值。

测试样例:
[10,5],2
返回:0

解题思路:

不难看出该题可以使用动态规划的方式解题。

在循环数组的过程中,记录截止到当前位置-1的最小值,然后用当前的值去计算最大的差值。

贴上代码:

1 public int getDis(int[] A, int n) {
2         int resultOfMax = 0;
3         int min = A[0];
4         for (int i = 1; i < n; i++) {
5             resultOfMax = Math.max(resultOfMax, A[i] - min);
6             min = Math.min(min, A[i]);
7         }
8         return resultOfMax;
9     }

相关