白菜刷LeetCode记-454. 4Sum II
昨天太忙,今天补上这一题。题目如下:
首先能够想到的就是使用比较暴力的方法,通过四层循环去找到结果,但是这种结果肯定是超时的,想了好久都没想到,在网上找到了使用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相关推荐
- 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 ...
- 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遍历求对应和与 ...
- leetcode 454. 4Sum II | 454. 四数相加 II(Java)
题目 https://leetcode.com/problems/4sum-ii/ 题解 四数相加问题. 对于左边两个数两两组合,需要维护一个 map,用来存左边两个数的 sum 以及该 sum 对应 ...
- 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 ...
- 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 ...
- 吴忠强:刷LeetCode的正确姿势!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:吴忠强,东北大学,Datawhale成员 写在前面 最近面试中做算 ...
- 【算法】吴忠强:刷LeetCode的正确姿势!
作者:吴忠强,东北大学,Datawhale成员 写在前面 最近面试中做算法题,受了打击,和我之前准备的很不一样.这篇文章通过笔试实战经验复盘我在刷LeetCode的一些误区和今后对策,供大家参考备战秋 ...
- java 转化罗马数字._Java刷LeetCode:整数转罗马数字
0 Java刷LeetCode:整数转罗马数字 Aug. 17, 2018, 9:41 p.m. 题目: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 ...
- GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势
作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂 ???? ...
最新文章
- TCL发布7项AI合作项目,聘任蒋涛为技术顾问
- idea中如何reimport_IDEA中导入新项目遇坑
- 利用Handler通信来实时显示系统时间
- 傅里叶变换和逆傅里叶变换numpy
- 【初涉C语言】程序员欢迎来到C语言的世界!
- 快了!CVPR 2019 所有录用论文题目列表刊出,即将开放下载!
- LabVIEW通过ADO连接SQL Server 方法二
- 基于JAVA+SpringMVC+Mybatis+MYSQL的大学生考勤管理系统及智能分析系统
- alin39048错误原因_支付宝支付ALIN10146错误
- android嵌入式面试题,嵌入式软件面试题 经典笔试题(含答案)
- 用lstm模型做预测_深度学习模型 CNN+LSTM 预测收盘价
- 我的Java开发学习之旅------Java ClassLoader解析一(转)
- HDFS之namenode文件解析
- 商品详情页代码html,商品详情页food.vue
- mac 蓝牙 串口调试 助手(工具)
- python七段数码管的绘制 获取系统时间
- 如何通过命令行连接mysql数据库_通过命令行连接MySQL数据库服务器的几种方式...
- vue+weui 手机端项目
- Exception: execute cmd error ,cmd : bash start.sh的解决方法
- 4 支付宝手机网站支付demo讲解
热门文章
- 深入理解RabbitMQ中的prefetch_count参数
- 海茶3 らぶデス3 入门经典教程
- 几种常见的数据备份方案
- php 不让提示notice,php怎么设置不显示notice信息
- 论文笔记(综述)——Image fusion meets deep learning: A survey and perspective
- 加载WSGI Application的核心配置api-paste.ini
- Cell Biolabs丨艾美捷 LC3-II定量自噬ELISA试剂盒
- 今天依然在走别人昨天的路
- 基于jsp+servlet的银行管理系统。
- C++变量定义和赋值