1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| // @Title: 子数组范围和 (Sum of Subarray Ranges)
// @Author: 15816537946@163.com
// @Date: 2022-03-04 19:39:40
// @Runtime: 24 ms
// @Memory: 4.1 MB
func subArrayRanges(nums []int) int64 {
var ans int64
for i, num := range nums {
minVal, maxVal := num, num
for _, v := range nums[i+1:] {
if v < minVal {
minVal = v
} else if v > maxVal {
maxVal = v
}
ans += int64(maxVal-minVal)
}
}
return ans
}
|