Maximum Number of Achievable Transfer Requests LeetCode solution in Java

1
class Solution {
2
int max = 0;
3

4
public int maximumRequests(int n, int[][] requests) {
5
helper(requests, 0, new int[n], 0);
6
return max;
7
}
8

9
private void helper(int[][] requests, int index, int[] count, int num) {
10
// Traverse all n buildings to see if they are all 0. (means balanced)
11
if (index == requests.length) {
12
for (int i : count) {
13
if (0 != i) {
14
return;
15
}
16
}
17
max = Math.max(max, num);
18
return;
19
}
20
// Choose this request
21
count[requests[index][0]]++;
22
count[requests[index][1]]--;
23
helper(requests, index + 1, count, num + 1);
24
count[requests[index][0]]--;
25
count[requests[index][1]]++;
26

27
// Not Choose the request
28
helper(requests, index + 1, count, num);
29
}
30
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0