NO.18四数之和
#三数之和双指针循环外再加一个循环,但有些细节还是在里面的,需注意 def fourSum(self, nums: List[int], target: int) -> List[List[int]]: res = [] #设置空列表做返回值 if len(nums)<4 : return res if len(nums)==4 and nums[0]+nums[1]+nums[2]+nums[3]==target: return [nums] nums.sort() #还是需要排序(从小到大) i=0 while i<len(nums)-3:#for循环也可 j=i+1 while j<len(nums)-2: l,r = j+1,len(nums)-1 while l<r: quadruplets = [nums[i],nums[j],nums[l],nums[r]] sum = nums[i]+nums[j]+nums[l]+nums[r] if (sum == target) : res.append(quadruplets) while (l < len(nums) and quadruplets[2] == nums[l]): #此时不用if的原因是排除连续的重复值 l += 1 while (r > 0 and quadruplets[3] == nums[r]): r-= 1 elif sum<target: l+=1 else: r-=1 while (j < len(nums) - 2 and nums[j] == nums[j + 1]):#排除j的重复值 j += 1 j += 1 while (i < len(nums) - 3 and nums[i] == nums[i + 1]):#排除i的重复值 i += 1 i += 1 return res

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)