leetcode 第454题 四数之和Ⅱ

给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足:
0 <= i, j, k, l < n
nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0

输入:nums1 = [1,2], nums2 = [-2,-1], nums3 = [-1,2], nums4 = [0,2]
输出:2
解释:
两个元组如下:
1. (0, 0, 0, 1) -> nums1[0] + nums2[0] + nums3[0] + nums4[1] = 1 + (-2) + (-1) + 2 = 0
2. (1, 1, 0, 0) -> nums1[1] + nums2[1] + nums3[0] + nums4[0] = 2 + (-1) + (-1) + 0 = 0
// 哈希表
//思路:在A和B中取出两个数的组合,将这两个数的和作为键,出现次数作为值加入哈希表中,循环C、D,判断C和D中是否存在两个数的和 加 AB中的俩元素的和正好是0,统计组合数
// 复杂度:时间复杂度O(n^2),两个嵌套循环。空间复杂度O(n^2),哈希表的空间,最差的情况下是n^2/*** @param {number[]} nums1* @param {number[]} nums2* @param {number[]} nums3* @param {number[]} nums4* @return {number}*/
var fourSumCount = function (nums1, nums2, nums3, nums4) {let count = 0 // 计数器let sumMap = new Map()for (let a of nums1) {for (let b of num2) {let sum = a + b;sumMap.has(sum) ?sumMap.set(sum, sumMap.get(sum) + 1):sumMap.set(sum, 1)}}for (let c of nums3) {for (let d of nums4) {let sum = c + d;if (sumMap.has(-sum)) {count += sumMap.get(-sum)}}}return count
}

leetcode系列--454.四数之和Ⅱ相关推荐

  1. leetcode系列--18.四数之和

    leetcode系列–18.四数之和 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target .请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], ...

  2. [LeetCode] 4Sum II 四数之和之二

    Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) there are such t ...

  3. leetcode系列--15.三数之和

    leetcode 第15题 三数之和 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三 ...

  4. leetcode系列--1.两数之和

    leetcode 第1题 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输 ...

  5. 代码随想录算法训练营第07天 | LeetCode 454.四数相加2,383. 赎金信,15. 三数之和,18. 四数之和,总结

    LeetCode [454. 四数相加 II] 题目:给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足 ...

  6. 【LeetCode】两数之和、三数之和、四数之和系列

    文章目录 两数之和★ 三数之和★★ 四数之和★★ 四数相加Ⅱ★★ 最接近的三数之和★★ 此篇文章总结下力扣中的两数之和.三数之和.四数之和及一系列求数组中满足达到目标值的元组个数的问题,仔细阅读下面的 ...

  7. 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和

    代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...

  8. ❤️导图整理数组6:四数组的四数之和,详解Counter类实现哈希表计数,力扣454❤️

    此专栏文章是对力扣上算法题目各种方法的总结和归纳, 整理出最重要的思路和知识重点并以思维导图形式呈现, 当然也会加上我对导图的详解. 目的是为了更方便快捷的记忆和回忆算法重点(不用每次都重复看题解), ...

  9. 代码随想录算法训练营day07| 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和

    Leetcode 454.四数相加II 题目链接 思路:求四数相加之和,将四数两两相加,判断两两相加的数是否和为0 定义一个map,key放两数之和,value放两数之和出现的次数 两层for循环将前 ...

最新文章

  1. Quartz.NET介绍
  2. SAP产品的Field Extensibility
  3. java 返回double数组_java-如何使用Collectors.averagingDouble计算双精度数组的均值?
  4. linux下安装Oracle10g时,安装rpm文件的技巧 (rpm -Uvh package名)
  5. 【转载保存】java8新特性学习
  6. Coding the Matrix Week 3 The Matrix 矩阵
  7. 根据osdid 查询磁盘是ssd盘还是sas盘
  8. ExtJS TreeGrid的使用方法
  9. android computescroll_【Android】Scroller分析
  10. 【优化算法】蜜獾优化算法(HBA)【含Matlab源码 1437期】
  11. rockchip的pwm驱动框架
  12. MySQL 通过存储过程生成带有随机姓名的百万条测试数据
  13. THE TWENTY-EIGHTH DAY
  14. Arduino基础项目十四:红外对管模块
  15. 基于LSTM实现乐器声音音频识别
  16. String...的用法
  17. 榛子外观缺陷视觉检测系统
  18. 怎么注册自己公司域名的企业邮箱?外贸邮箱哪个好用?
  19. 概率统计D 01.06 伯努利概型
  20. linux login as,PuTTY登录后SSH提示login as怎么回事?

热门文章

  1. 【国内火车运行路线计算与展示】
  2. 铝电解电容品牌排行榜
  3. anita的音乐空间(项目)
  4. 抓取七星彩历史开奖数java据,七星彩中五个号
  5. Commvault Oracle备份常用命令
  6. JAVA实现线性表顺序存储结构ArrayList
  7. ASN.1概述及数据类型详解
  8. 五金配件行业ERP解决方案
  9. 谈微商那点事,如何避开红海
  10. matlab函数内定义常量,matlab 里定义全局变量,常量