C/C++教程

LeetCode 15题. 三数之和

本文主要是介绍LeetCode 15题. 三数之和,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

难度挺大..降重细节多


看到个老哥的评价,醍醐灌顶:

说白了就是降维处理, 由三维降到二维, 针对任意索引i的\(nums[i]\) 求\([i+1,size )\)范围内不重复的$$twoSum target = - nums[i];$$后面还有一个四数之和, 一样的问题, 先降到三维, 再降到二维,

随想录

https://gitee.com/programmercarl/leetcode-master/blob/master/problems/0015.三数之和.md

思路

本来自己做就是借助hash来处理,结果发现降重非常复杂,反复用排序再set来降重,结果复杂度直接炸裂

正确且简介思路是用排序+三指针:
i负责直接扫描list,left、right负责在i右侧区域扫描
image

然后细节就是降重了,具体看随想录吧。挺难自己想到的

这题还得回来复习做,自己思路没跟上

这篇关于LeetCode 15题. 三数之和的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!