Maximum Sum Obtained of Any Permutation LeetCode solution in Java

1
class Solution {
2
public int maxSumRangeQuery(int[] nums, int[][] requests) {
3
int n = nums.length;
4
int[] pref = new int[n];
5
for (int i = 0; i < requests.length; i++) {
6
pref[requests[i][0]]++;
7
if (requests[i][1] + 1 < n) pref[requests[i][1] + 1]--;
8
}
9
for (int i = 1; i < n; i++) {
10
pref[i] += pref[i - 1];
11
}
12
Arrays.sort(nums);
13
Arrays.sort(pref);
14
long res = 0;
15
for (int i = 0; i < n; i++) {
16
res += ((long) pref[i] * nums[i]);
17
res %= 1000000007;
18
}
19
return (int) res % 1000000007;
20
}
21
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0