Finding Pairs With a Certain Sum LeetCode solution in Java

1
class FindSumPairs {
2

3
private int[] nums1;
4
private int[] nums2;
5
Map<Integer, Integer> map = new HashMap<>();
6

7
public FindSumPairs(int[] nums1, int[] nums2) {
8
this.nums1 = nums1;
9
this.nums2 = nums2;
10
for (int number : nums2) {
11
map.put(number, map.getOrDefault(number, 0) + 1);
12
}
13
}
14

15
public void add(int index, int val) {
16
map.put(nums2[index], map.get(nums2[index]) - 1);
17
nums2[index] += val;
18
map.put(nums2[index], map.getOrDefault(nums2[index], 0) + 1);
19
}
20

21
public int count(int tot) {
22
int result = 0;
23
for (int number : nums1) {
24
if (map.containsKey(tot - number)) {
25
result += map.get(tot - number);
26
}
27
}
28
return result;
29
}
30
}
31

32
/**
33
* Your FindSumPairs object will be instantiated and called as such: FindSumPairs obj = new
34
* FindSumPairs(nums1, nums2); obj.add(index,val); int param_2 = obj.count(tot);
35
*/

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0