2022-6-3 真题练习
描述
有一个长为 n 的数组 A ,求满足 0 ≤ a ≤ b < n 的 A[b] - A[a] 的最大值。
给定数组 A 及它的大小 n ,请返回最大差值。
数据范围: 2 < n \le 2*10^5\2<n≤2∗105 ,数组中的值满足 0 \le |val| \le 5*10^8 \0≤∣val∣≤5∗108
1 import java.util.*; 2 3 4 public class Solution { 5 /** 6 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 7 * 8 * 9 * @param A int整型一维数组 10 * @param n int整型 11 * @return int整型 12 */ 13 public int getDis (int[] A, int n) { 14 // write code here 15 int min=A[0],max=0; 16 for (int x:A){ 17 min=Math.min(min,x); 18 max=Math.max(x-min,max); 19 } 20 return max; 21 } 22 }
思路:记录当前值以前的最小值,再判断当前值的差值是否为最大。