最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java題解LeetCode454.四數(shù)相加示例

 更新時(shí)間:2023年10月15日 10:33:44   作者:健身的墨鏡  
這篇文章主要為大家介紹了java題解LeetCode454.四數(shù)相加示例思路解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

正文

給你四個(gè)整數(shù)數(shù)組 nums1、nums2、nums3 和 nums4 ,數(shù)組長(zhǎng)度都是 n ,請(qǐng)你計(jì)算有多少個(gè)元組 (i, j, k, l) 能滿(mǎn)足:

0 <= i, j, k, l < n

nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

解決問(wèn)題

將n的四次方轉(zhuǎn)變?yōu)閚的平方,主要通過(guò)按兩個(gè)兩個(gè)分組打包實(shí)現(xiàn),此外注意map中記錄的是前兩個(gè)數(shù)組中的內(nèi)容兩兩相加的值的出現(xiàn)次數(shù),這樣做是為了在后面兩個(gè)數(shù)組中尋找時(shí),對(duì)于每個(gè)匹配的組合,都在總的次數(shù)中加上對(duì)應(yīng)值出現(xiàn)次數(shù),這樣做是因?yàn)樵擃}不去重,每個(gè)元組都是獨(dú)特的,所以都要算上

public int fourSumCount(int[] nums1, int[] nums2, int[] nums3, int[] nums4) {
        int n=nums1.length;
        int count=0;
        Map<Integer,Integer> map=new HashMap<>();
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if(map.containsKey(nums1[i]+nums2[j])){
                    int temp=map.get(nums1[i]+nums2[j])+1;
                    map.put(nums1[i]+nums2[j],temp);
                }
                else{
                    map.put(nums1[i]+nums2[j],1);
                }
            }
        }

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                int temp=-(nums4[j]+nums3[i]);
                if(map.containsKey(temp)){
                    count=count+map.get(temp);
                }
            }
        }
        return count;
    }

以上就是java題解LeetCode454.四數(shù)相加示例的詳細(xì)內(nèi)容,更多關(guān)于java LeetCode四數(shù)相加的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

海门市| 左权县| 叙永县| 尼玛县| 沭阳县| 富蕴县| 沁水县| 墨竹工卡县| 天台县| 海伦市| 古浪县| 灌南县| 铜梁县| 嘉义市| 来安县| 深泽县| 阳谷县| 泰州市| 三穗县| 新宾| 阿拉善左旗| 华宁县| 民勤县| 南充市| 丹江口市| 韩城市| 六安市| 孝义市| 封丘县| 林州市| 白山市| 乐亭县| 竹溪县| 宁陕县| 罗山县| 肃南| 伊宁县| 敦煌市| 大庆市| 舟曲县| 富顺县|