blob: dd72746625436cc06f1ab9bdffa93aceaff2fee0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include "leetcode.h"
class Solution {
public:
int maximumUniqueSubarray(vector<int> &nums) {
int ans = 0;
unordered_set<int> us;
for (int i = 0, j = 0, win = 0; j < nums.size(); j++) {
while (us.find(nums[j]) != us.end()) {
us.erase(nums[i]);
win -= nums[i];
i++;
}
us.insert(nums[j]);
win += nums[j];
ans = max(ans, win);
}
return ans;
}
};
int main() {
Solution obj;
vector<int> nums = {5, 2, 1, 2, 5, 2, 1, 2, 5};
cout << obj.maximumUniqueSubarray(nums);
}
|