昨天太忙,今天补上这一题。题目如下:

首先能够想到的就是使用比较暴力的方法,通过四层循环去找到结果,但是这种结果肯定是超时的,想了好久都没想到,在网上找到了使用map实现的方法。代码如下:

 1 /**
 2  * @param {number[]} A
 3  * @param {number[]} B
 4  * @param {number[]} C
 5  * @param {number[]} D
 6  * @return {number}
 7  */
 8 var fourSumCount = function(A, B, C, D) {
 9     let res = 0, n = A.length;
10
11     let m = new Map();
12
13     for(let i = 0 ; i < n ; i++){
14         for(let j = 0 ; j < n ; j++){
15             if(m.has(A[i]+B[j])){
16                 m.set(A[i]+B[j], m.get(A[i]+B[j]) + 1);
17             }else{
18                 m.set(A[i]+B[j], 1);
19             }
20
21         }
22     }
23
24     for(let i = 0 ; i < n ; i++){
25         for(let j = 0 ; j < n ; j++){
26             let opp = -1*(C[i]+D[j]);
27             if(m.has(opp)){
28                 res += m.get(opp);
29             }
30         }
31     }
32
33     return res;
34 };

END

转载于:https://www.cnblogs.com/sssysukww/p/9636659.html

白菜刷LeetCode记-454. 4Sum II相关推荐

  1. LeetCode 454. 4Sum II

    454. 4Sum II Given four lists A, B, C, D of integer values, compute how many tuples (i, j, k, l) the ...

  2. LeetCode 454 4Sum II(哈希法)

    问题:给出四个数组A,B,C,D,问有多少组(i,j,k,l)满足A[i]+B[j]+C[k]+D[l]=0 思路:如果直接数据遍历,时间复杂度为O(n^4).可以考虑降维.先计算A,B遍历求对应和与 ...

  3. leetcode 454. 4Sum II | 454. 四数相加 II(Java)

    题目 https://leetcode.com/problems/4sum-ii/ 题解 四数相加问题. 对于左边两个数两两组合,需要维护一个 map,用来存左边两个数的 sum 以及该 sum 对应 ...

  4. 454. 4Sum II

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

  5. 454. 4Sum II ——查找本质:hash最快,二分次之

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

  6. 吴忠强:刷LeetCode的正确姿势!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,东北大学,Datawhale成员 写在前面 最近面试中做算 ...

  7. 【算法】吴忠强:刷LeetCode的正确姿势!

    作者:吴忠强,东北大学,Datawhale成员 写在前面 最近面试中做算法题,受了打击,和我之前准备的很不一样.这篇文章通过笔试实战经验复盘我在刷LeetCode的一些误区和今后对策,供大家参考备战秋 ...

  8. java 转化罗马数字._Java刷LeetCode:整数转罗马数字

    0 Java刷LeetCode:整数转罗马数字 Aug. 17, 2018, 9:41 p.m. 题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 ...

  9. GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势

    作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂 ???? ...

最新文章

  1. TCL发布7项AI合作项目,聘任蒋涛为技术顾问
  2. idea中如何reimport_IDEA中导入新项目遇坑
  3. 利用Handler通信来实时显示系统时间
  4. 傅里叶变换和逆傅里叶变换numpy
  5. 【初涉C语言】程序员欢迎来到C语言的世界!
  6. 快了!CVPR 2019 所有录用论文题目列表刊出,即将开放下载!
  7. LabVIEW通过ADO连接SQL Server 方法二
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的大学生考勤管理系统及智能分析系统
  9. alin39048错误原因_支付宝支付ALIN10146错误
  10. android嵌入式面试题,嵌入式软件面试题 经典笔试题(含答案)
  11. 用lstm模型做预测_深度学习模型 CNN+LSTM 预测收盘价
  12. 我的Java开发学习之旅------Java ClassLoader解析一(转)
  13. HDFS之namenode文件解析
  14. 商品详情页代码html,商品详情页food.vue
  15. mac 蓝牙 串口调试 助手(工具)
  16. python七段数码管的绘制 获取系统时间
  17. 如何通过命令行连接mysql数据库_通过命令行连接MySQL数据库服务器的几种方式...
  18. vue+weui 手机端项目
  19. Exception: execute cmd error ,cmd : bash start.sh的解决方法
  20. 4 支付宝手机网站支付demo讲解

热门文章

  1. 深入理解RabbitMQ中的prefetch_count参数
  2. 海茶3 らぶデス3 入门经典教程
  3. 几种常见的数据备份方案
  4. php 不让提示notice,php怎么设置不显示notice信息
  5. 论文笔记(综述)——Image fusion meets deep learning: A survey and perspective
  6. 加载WSGI Application的核心配置api-paste.ini
  7. Cell Biolabs丨艾美捷 LC3-II定量自噬ELISA试剂盒
  8. 今天依然在走别人昨天的路
  9. 基于jsp+servlet的银行管理系统。
  10. C++变量定义和赋值