Skip to content

Commit 2ff490e

Browse files
Merge pull request youngyangyang04#1973 from Projecthappy/master
优化0454.四数相加II中 java的方法
2 parents 27ae005 + 6dd7f42 commit 2ff490e

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

problems/0454.四数相加II.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,26 +97,25 @@ Java:
9797
```Java
9898
class Solution {
9999
public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
100-
Map<Integer, Integer> map = new HashMap<>();
101-
int temp;
102100
int res = 0;
101+
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
103102
//统计两个数组中的元素之和,同时统计出现的次数,放入map
104103
for (int i : nums1) {
105104
for (int j : nums2) {
106-
temp = i + j;
107-
if (map.containsKey(temp)) {
108-
map.put(temp, map.get(temp) + 1);
105+
int tmp = map.getOrDefault(i + j, 0);
106+
if (tmp == 0) {
107+
map.put(i + j, 1);
109108
} else {
110-
map.put(temp, 1);
109+
map.replace(i + j, tmp + 1);
111110
}
112111
}
113112
}
114113
//统计剩余的两个元素的和,在map中找是否存在相加为0的情况,同时记录次数
115114
for (int i : nums3) {
116115
for (int j : nums4) {
117-
temp = i + j;
118-
if (map.containsKey(0 - temp)) {
119-
res += map.get(0 - temp);
116+
int tmp = map.getOrDefault(0 - i - j, 0);
117+
if (tmp != 0) {
118+
res += tmp;
120119
}
121120
}
122121
}

0 commit comments

Comments
 (0)