MT1 最大差值
有一个长为 n 的数组 A ,求满足 0 ≤ a ≤ b < n 的 A[b] - A[a] 的最大值。
给定数组 A 及它的大小 n ,请返回最大差值。
数据范围: ,数组中的值满足
思路
首先要明白题目的意思。
数组的后项-前项,差值为负时记为0
Code
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param A int整型vector
* @param n int整型
* @return int整型
*/
int getDis(vector<int>& A, int n) {
// write code here
// 假设0位置值最小
int minNum = A[0];
// 题目的意思是最小为0
int ansDiff = 0;
// 遍历整个数组,找到实际最小的值
for (int i = 1; i < n; i++) {
minNum = min(A[i], minNum);
ansDiff = max(A[i] - minNum, ansDiff);
}
return ansDiff;
}
};