力扣18. 四数之和(JavaScript)
建立四个指针
四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[left] + nums[right] == target的情况,三数之和的时间复杂度是$O(n^2)$,四数之和的时间复杂度是$O(n^3)$ 。
var fourSum = function(nums, target) {let arr=[]//长度不能小于4if(nums==null||nums.length<4){return arr}//排序nums.sort((a,b)=>a-b)//遍历指针ifor(let i=0;i<nums.length-3;i++){//指针i去重if(i>0&&nums[i]==nums[i-1]){continue}//遍历指针xfor(let x=i+1;x<nums.length-2;x++){//指针x去重if(x>i+1&&nums[x]==nums[x-1]){continue}let left=x+1let right=nums.length-1while(left<right){let sum=nums[i]+nums[x]+nums[left]+nums[right]if(sum==target){arr.push([nums[i],nums[x],nums[left],nums[right]])//指针left的去重while(left<right&&nums[left]==nums[left+1]){left++}//指针right的去重while(left<right&&nums[right]==nums[right-1]){right--}left++right--}else if(sum>target){right--}else if(sum<target){left++}}}}return arr};
力扣18. 四数之和(JavaScript)相关推荐
- 力扣18. 四数之和
题目来源:https://leetcode.cn/problems/4sum/description/ C++题解:第一次尝试,数组排序后,分别从两端各自往里走,单个样例都能通过,但是超时 class ...
- 代码随想录算法训练营15期 Day7 | 454.四数相加II、 383. 赎金信 、15. 三数之和、18. 四数之和
目录 力扣 454.四数相加II 题解:哈希表-map-unordered_map 力扣 383.赎金信 题解1:暴力解法 题解2:哈希表--数组 力扣 454.四数相加II 题目: 给你四个整数数组 ...
- (补)算法训练第七天|力扣454.四数相加II ,383. 赎金信,15. 三数之和,18. 四数之和
代码随想录算法训练营第七天|力扣454.四数相加II ,383. 赎金信,15. 三数之和,18. 四数之和 454.四数相加II 题目链接:四数相加II 参考:https://programmerc ...
- 代码随想录算法训练营第六天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和。
代码随想录算法训练营第六天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和. 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和 454.四数相加I ...
- 代码随想录算法训练营第7天|454.四数相加II,383. 赎金信,15. 三数之和,18. 四数之和
454.四数相加II 力扣题目链接 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i]+B[j]+C[k]+D[l] = 0. 为了 ...
- 代码随想录算法训练营15期 Day 7 | 454.四数相加II 、 383. 赎金信 、15. 三数之和 、18. 四数之和
昨天看了一下别的东西,导致昨天没有练习打卡,今天补上昨天的学习知识. 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使 ...
- 代码随想录算法训练营第七天|454.四数相加II 、 383. 赎金信 、15. 三数之和、18. 四数之和
454.四数相加II 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足: 0 <= i, j, ...
- Suzy找到实习了吗Day 7 | 哈希表结束啦 454. 四数相加 II,383. 赎金信,15. 三数之和,18. 四数之和
454. 四数相加 II(dict hash) 题目 给你四个整数数组 nums1.nums2.nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元组 (i, j, k, l) 能满足 ...
- 代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和
代码随想录算法训练营第七天| 哈希表理论基础 ,454.四数相加II, 383. 赎金信, 15. 三数之和, 18. 四数之和 454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体 ...
最新文章
- SpringMvc4中获取request、response对象的方法
- ASP.NET跨服务器上传文件的相关解决方案
- 一次 Nacos 的踩坑记录!
- 【Python-ML】SKlearn库集成学习器Boosting
- CreateDirectory GetCurrentDirectory 和SetCurrentDirectory
- go语言map遍历时删除是安全的, 且可以完全删除
- 单链表进阶学习 二段
- JS基础入门篇( 一 )
- Linux PCI驱动框架分析:(Peripheral Component Interconnect,外部设备互联)
- 计算机英语小短文单词易懂,少儿英语小短文:计算机
- Windows Server 2008 R2从低版本升级到高版本
- 百度地图API常规应用十功能
- 全新卡盟系统PHP版 集成易支付_PHP其他卡信卡盟系统平台 搭建卡盟平台多商户版源码程序系统集成易支付接口整站源码...
- LIBJPEG-TURBO库移植
- 四、day_03计时、关灯游戏
- SLAM数据集(tum/kitti)轨迹对齐与结果评估
- Matlab 之meshgrid interp griddata interp2
- python实训day1
- 近5年内有关病毒在复杂网络中传播与控制方面的20篇论文
- 宅男福利!爬虫实战,爬取原神真人c图片并保存,谁的老婆快抱走
热门文章
- java抽象机制_Java很好学:接口+抽象类+事件监听机制
- oracle数据库的语言,oracle数据库语言类型
- 如何在docker中运行MySQL实例(转载)
- android room 线程,Android协程——RoomCoroutines-Go语言中文社区
- 基于JAVA+Servlet+JSP+MYSQL的交通罚单管理系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的旅游景点门票售票管理系统
- 基于JAVA+Spring+MYSQL的码头船只出行管理系统
- mysql全文索引 插件,如何编写MySQL全文索引插件
- springboot 实现机器学习_SpringBoot架构浅谈
- Macaca上手体验