中等题 不难 就错了一些 谢谢题解
java:
class Solution {
public long subArrayRanges(int[] nums) {
int n = nums.length;
long ret = 0;
for (int i = 0; i < n; i++) {
int minVal = Integer.MAX_VALUE, maxVal = Integer.MIN_VALUE;
for (int j = i; j < n; j++) {
minVal = Math.min(minVal, nums[j]);
maxVal = Math.max(maxVal, nums[j]);
ret += maxVal - minVal;
}
}
return ret;
}
}
python3:
先来平平无奇的遍历吧
class Solution:
def subArrayRanges(self, nums: List[int]) -> int:
ass = 0
n = len(nums)
for i in range(n):
minval, maxval = inf, -inf
for j in range(i, n):
minval = min(minval, nums[j])
maxval = max(maxval, nums[j])
ass += maxval - minval
return ass