• 2024-09-22【LeetCode Hot 100】15. 三数之和
    题目描述回忆一下之前做过的两数之和,用的是哈希表存储已经遍历过的元素。但是本题要求返回值中不能有重复元素,因此需要去重,强行用哈希表的话,去重操作会很复杂。我们可以通过哪些方法来保证返回的数组中不包含重复的三元组?先将整个数组进行排序,可以保证答案数组中有\((a,b,c)\)
  • 2024-09-1315. 三数之和 Golang实现
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输出:[[
  • 2024-09-12【力扣16】最接近的三数之和
    16.最接近的三数之和-力扣(LeetCode)接近target:大于或小于两种情况。但是实际操作中只需考虑大于的情况,找到之后结果的前一个数也有可能是结果,进行比较(更新结果res)。第二种情况的实现依靠右指针的移动思路类似15对于每个j,找到一个最小的k,使得满足条件(j变大,k一定减小即k--)
  • 2024-09-1215_三数之和
    15_三数之和【问题描述】给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例一:输入:nums
  • 2024-09-11【力扣15】三数之和
    15.三数之和-力扣(LeetCode)双指针算法核心:有序(有序了才能使用双指针)因此,先排序,且保证i<j<k的顺序;顺序确定,双指针才能有序移动,可以将原本o(n2)复杂度降未o(n)双指针:先想暴力做法,再看有没有单调性,有单调性就用双指针有三个数,但只有双指针,所以先枚举一个数;后两个数按照双指针,根
  • 2024-09-05今日算法随笔:三数之和
    题目链接:15.三数之和思路排序+双指针采用排序+双指针的方法来解决三数之和问题。首先对数组进行排序,然后通过双指针法,针对每一个固定的元素,从其后的数组部分寻找符合条件的三元组。这样能够避免重复的三元组,且利用排序的性质来优化查找效率。解题过程方法运用排
  • 2024-08-20leetcode面试经典150题- 15. 三数之和
    https://leetcode.cn/problems/3sum/description/?envType=study-plan-v2&envId=top-interview-150 packageleetcode150import("sort""testing")funcTestThreeSum(t*testing.T){nums:=[]int{0,2,2,3,0,1,2,3,-
  • 2024-08-1615. 三数之和【 力扣(LeetCode) 】
    一、题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。二、测试用例示例1:输
  • 2024-08-04三数之和(双指针法)
    题目描述给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。双指针法:首先我们要对数组进行排序
  • 2024-07-30LeetCode15 三数之和
    前言题目:15.三数之和文档:代码随想录——三数之和编程语言:C++解题状态:没思路…思路不可包含重复三元组的条件是本题最大的难点,本题的一大思路在与排序后进行去重。代码双指针法classSolution{public:vector<vector<int>>threeSum(vector<int>&nums
  • 2024-07-29哈希表——4.三数之和
    力扣题目链接给你一个包含n个整数的数组 nums,判断 nums 中是否存在三个元素a,b,c,使得 a+b+c=0?请你找出所有满足条件且不重复的三元组。注意: 答案中不可以包含重复的三元组。示例:输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,0,1],[-1,-1,2]]由于题目中规定不可以
  • 2024-07-25力扣:三数之和(左右双指针思路+动画演示+代码实现)
    题目①双指针思路(双指针匹配方式,还不涉及去重)1.需要的变量个数(三个变量,双指针作为其中两个)left、right已经两个变量,表示两个数。题目求三数之和,只需要另外一个变量i即可!所以一共是nums[i]、nums[left]、nums[right]。存储满足条件的这三个值2.双指针工作原理
  • 2024-07-23代码随想录哈希表第二天:四数相加2、三数之和、四数之和、赎金信
    详细可移步个人代码随想录打卡四数相加使用2次,2层for循环。即可确定和值,然后使用一个map来记录第一个for循环的值,再第二次for循环中找,并记录次数即可。代码如下:importjava.util.HashMap;importjava.util.Map;classSolution{publicintfourSumCount(int[]n
  • 2024-07-09代码随想录算法训练营第7天 | 哈希表和双指针结合、三数和四数之和
    2024年7月9日题454.四数相加II使用哈希表,分为两块,前两个数组找出各种情况,统计次数,时间复杂度为O($n^2$),后两个数组在找到各种情况的时候直接用哈希表去处前两个数组符合的相应次数即可。classSolution{publicintfourSumCount(int[]nums1,int[]nums2,int[]nums3,
  • 2024-06-23力扣-三数之和
    文章目录题目题解题目原题链接:三数之和题解思路:一层枚举+双指针publicclassTest{publicstaticList<List<Integer>>threeSum(int[]nums){List<List<Integer>>res=newArrayList<>();if(nums.length<3)returnres;
  • 2024-06-16【LeetCode最详尽解答】15-三数之和 3sum
    欢迎收藏Star我的MachineLearningBlog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star,有问题可以随时与我交流,谢谢大家!链接:15-三数之和直觉示例:输入:nums=[-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]解释:nums[
  • 2024-06-13Q32 LeetCode15 三数之和
    难点在于不能重复1.将数组进行排序2.找到合适组合后将三个指针都要进行向后去重操作  1classSolution{2publicList<List<Integer>>threeSum(int[]nums){3Arrays.sort(nums);4List<List<Integer>>ans=newArrayList<>();5
  • 2024-06-07代码随想录算法训练营第七天 | 四数之和、赎金信、三数之和、四数之和2
    代码随想录算法训练营第七天383赎金信https://leetcode.cn/problems/ransom-note/submissions/537782865/383赎金信代码随想录https://programmercarl.com/0383.赎金信.html#思路四数之和2https://leetcode.cn/problems/4sum-ii/四数之和2代码随想录https://programmerca
  • 2024-06-01旅行第五天【算法】双指针-----三数之和+四数之和
    文章目录一、题目二、算法原理三、编写代码四、题目五、算法原理六、编写代码一、题目链接:三数之和二、算法原理首先是解法一:暴力解法(其实有必要思考一下,不用把程序写出来,写伪代码就可以了,因为优化后算法的代码是建立在暴力解法的基础上的)三个指针,分别依次
  • 2024-06-01LeetCode 第15题:三数之和的解析
    大家好!本文我们将要探索的是LeetCode的第15题:三数之和。我们的目标是在一片数字的海洋中寻找三颗神奇的珍珠,它们的和为零。准备好了吗?让我们一同踏上这段充满挑战和乐趣的旅程吧!文章目录题目介绍解题思路思路1:暴力法思路2:双指针法思路3:哈希表法思路4:回溯法思
  • 2024-05-28代码随想录算法训练营第七天|454(四数相加||),383(赎金信),15(三数之和),18(四数之和)
    哈希三数之和和四数之和,和两数之和一样,是对一个数组来进行检索。因为要求元组不能重复,需要用多指针的方法来遍历和判断。由于两数之和没有这个要求且要返回下标,所以用了哈希表。但哈希表难以检测是否重复,不如双指针直接。四数相加||是对四个数组来做相加,且不要求元组重复,可用哈
  • 2024-05-0315.三数之和
    给你一个整数数组 nums ,判断是否存在三元组 [nums[i],nums[j],nums[k]] 满足 i!=j、i!=k 且 j!=k ,同时还满足 nums[i]+nums[j]+nums[k]==0 。请你返回所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。 示例1:输入:nums=[-1,0,1
  • 2024-04-26三数之和
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输出:[
  • 2024-04-20三数取中公式思路
    先假设有x、y、z三个代数再假设一个已知条件x>y根据已知条件推断,y不可能是最大值,最大值只会在x和z之间产生因此min(x,z)即可排除最大值但是z有可能小于y,因此还需要排除最小值最终使用max(y,min(x,z))即可得出中间值 如何把三个未知数代入x、y、z中?现
  • 2024-04-08【LeetCode刷题记录】15. 三数之和
    15三数之和给你一个整数数组nums,判断是否存在三元组[nums[