leetcode 454. 4Sum II | 454. 四数相加 II(Java)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 454. 4Sum II | 454. 四数相加 II(Java)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
https://leetcode.com/problems/4sum-ii/
題解
四數相加問題。
對于左邊兩個數兩兩組合,需要維護一個 map,用來存左邊兩個數的 sum 以及該 sum 對應的 count。
對于右邊兩個數兩兩組合,需要查 map 中是否有可以與之匹配的元素。如果有,將個數累加到 count 中。
class Solution {public int fourSumCount(int[] n1, int[] n2, int[] n3, int[] n4) {HashMap<Integer, Integer> map = new HashMap<>(); //(sum,count)int n = n1.length;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int sum = n1[i] + n2[j];if (!map.containsKey(sum)) map.put(sum, 0);map.put(sum, map.get(sum) + 1);}}int count = 0;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {int sum = -n3[i] - n4[j];if (map.containsKey(sum)) count += map.get(sum);}}return count;} }總結
以上是生活随笔為你收集整理的leetcode 454. 4Sum II | 454. 四数相加 II(Java)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: leetcode 1339. Maxim
- 下一篇: 456. 132 Pattern | 4