import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * max water * @param arr int整型一维数组 the array * @return long长整型 */ public long maxWater (int[] arr) { // write code here if (arr == null || arr.length == 0 || arr.length == 1) { return 0L; } int sum = 0; int left = 0; int right = arr.length - 1; int maxLeft = 0; int maxRight = 0; while (left < right) { maxLeft = Math.max(maxLeft, arr[left]); maxRight = Math.max(maxRight, arr[right]); if (maxLeft < maxRight) { sum += maxLeft - arr[left++]; } else { sum += maxRight - arr[right--]; } } return sum; } }