Maximum Number of Achievable Transfer Requests LeetCode solution in C++

1
class Solution {
2
public:
3
void fun(vector<vector<int>> &rq, vector<int> &cap, int ind, int req, int &maxRequests) {
4
if (ind >= rq.size()) {
5
for (auto a : cap) {
6
if (a != 0) return;
7
}
8
maxRequests = max(maxRequests, req);
9
return;
10
}
11

12
fun(rq, cap, ind + 1, req, maxRequests);
13

14
cap[rq[ind][0]]--;
15
cap[rq[ind][1]]++;
16

17
fun(rq, cap, ind + 1, req + 1, maxRequests);
18

19
cap[rq[ind][0]]++;
20
cap[rq[ind][1]]--;
21
}
22

23
int maximumRequests(int n, vector<vector<int>> &requests) {
24
int maxRequests = 0;
25
vector<int> capacity(n, 0);
26
fun(requests, capacity, 0, 0, maxRequests);
27
return maxRequests;
28
}
29
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0