尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
代码随想录算法训练营第六天 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
学习内容454.四数相加II给你四个整数数组 nums1、nums2、nums3 和 nums4 数组长度都是 n 请你计算有多少个元组 (i, j, k, l) 能满足0 i, j, k, l nnums1[i] nums2[j] nums3[k] nums4[l] 0classSolution:deffourSumCount(self,nums1:List[int],nums2:List[int],nums3:List[int],nums4:List[int])-int:hashmapdict()foriinnums1:forjinnums2:ifijinhashmap:hashmap[ij]1else:hashmap[ij]1count0foriinnums3:forjinnums4:key-i-jifkeyinhashmap:counthashmap[key]returncount学习心得先定义一个hashmap字典。将nums1nums2的值与出现次数统计到hashmap里之后再看-nums3-nums4的值在不在hashmap在的话则count更新加上刚刚统计的nums1nums2的出现次数383. 赎金信给你两个字符串ransomNote 和 magazine 判断 ransomNote 能不能由 magazine 里面的字符构成。如果可以返回 true 否则返回 false 。magazine 中的每个字符只能在 ransomNote 中使用一次。classSolution:defcanConstruct(self,ransomNote:str,magazine:str)-bool:shuzu[0]*26foriinstr(magazine):shuzu[ord(i)-ord(a)]1forjinstr(ransomNote):shuzu[ord(j)-ord(a)]-1foriinrange(len(shuzu)):ifshuzu[i]0:returnFalsereturnTrue学习心得定义一个26大小的的0值数组。先统计magazine里面各单词出现次数。再统计ransomNote里的每个字符出现则在数组相应单词位置次数-1。最后看数组里面有没有负数有的话说明ransomNote 不能由 magazine 里面的字符构成。15. 三数之和给你一个整数数组 nums 判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k 同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。注意答案中不可以包含重复的三元组。主要注意双指针和去重以及判断条件classSolution:defthreeSum(self,nums:list[int])-list[list[int]]:result[]nums.sort()foriinrange(len(nums)):ifnums[i]0:returnresultifi0andnums[i]nums[i-1]:continuelefti1rightlen(nums)-1whileleftright:sumsnums[i]nums[left]nums[right]ifsums0:leftleft1elifsums0:rightright-1else:result.append([nums[i],nums[left],nums[right]])whileleftrightandnums[left1]nums[left]:left1whileleftrightandnums[right-1]nums[right]:right-1left1right-1returnresult学习心得利用i和双指针leftright。首先sort()排序然后进入for循环判断数组里第一个元素是否0,是则返回[ ]。之后判断i0,nums[i-1] nums[i]去i的重复。定义left i 1。 right len(nums) - 1。之后进入循环while left right 判断sums是否0 0 0 ,大于0 则right - 1。小于0则left 1 等于零 则sums nums[ ] i left right 相加。 再进入left和right的去重。while left right and nums[left1] nums[left]: left。right同理。最后再来一个left和right–因为不一定会进入上一步的while循环。18. 四数之和给你一个由 n 个整数组成的数组 nums 和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] 若两个四元组元素一一对应则认为两个四元组重复0 a, b, c, d na、b、c 和 d 互不相同nums[a] nums[b] nums[c] nums[d] target你可以按 任意顺序 返回答案 。classSolution:deffourSum(self,nums:List[int],target:int)-List[List[int]]:nums.sort()result[]nlen(nums)foriinrange(n):ifnums[i]targetandtarget0:#剪枝breakifi0andnums[i]nums[i-1]:continueforjinrange(i1,n):ifnums[i]nums[j]targetandtarget0:#剪枝breakifji1andnums[j]nums[j-1]:continueleftj1rightn-1whileleftright:sumsnums[i]nums[j]nums[left]nums[right]ifsumstarget:right-1elifsumstarget:left1else:result.append([nums[i],nums[j],nums[left],nums[right]])whileleftrightandnums[left]nums[left1]:left1whileleftrightandnums[right]nums[right-1]:right-1left1right-1returnresult学习心得四数之和多了一个i和剪枝操作。其他没啥区别和三数之和。剪枝注意如果第一个数target and target0就break 第一个数加第二个数target and target0就break 其他都一样 i去重 j去重 left去重 right去重。
RELATED

相关推荐

【通义千问文档解析实战指南】:20年专家亲授5大避坑法则与3步精准提取技巧

【通义千问文档解析实战指南】:20年专家亲授5大避坑法则与3步精准提取技巧

更多请点击: https://intelliparadigm.com 第一章:通义千问文档解析的核心价值与适用边界 通义千问文档解析并非通用文本处理黑箱,而是一套面向结构化知识抽取与语义对齐的专用能力模块。其核心价值在于将非结构化技术文档(如API…

📅 2026/11/14 21:54:29
SpringBoot+Vue旅游网站管理系统开发指南

SpringBoot+Vue旅游网站管理系统开发指南

1. 项目概述:一个开箱即用的旅游网站管理系统 这套"旅游网站信息管理系统"采用当前主流的前后端分离架构,后端基于SpringBoot框架实现业务逻辑和数据处理,前端使用Vue.js构建用户界面,数据存储则采用MySQL关系型数据库。…

📅 2026/11/14 21:54:30
YimMenu终极指南:GTA5防崩溃工具完整使用教程

YimMenu终极指南:GTA5防崩溃工具完整使用教程

YimMenu终极指南:GTA5防崩溃工具完整使用教程 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …

📅 2026/10/17 23:34:41
MORE NEWS

更多资讯

📰

带电工证的电工怎么考?含金量到底有多高?

带电工证的电工怎么考?含金量到底有多高? 你是不是正在为找工作发愁?听说很多岗位都要求有特种作业证,特别是 带电工证的电工…

📰

3天拿证怕白交钱?靠谱的中级电工证怎么考才靠谱

3天拿证怕白交钱?靠谱的中级电工证怎么考才靠谱 怕考不过白交培训费?你不是一个人,很多人第一次接触【靠谱的中级电工证】时,最大的顾虑就是花了几千块报名培训,结果考试挂了,钱打水漂,时间也浪费了。特别是对洛阳劳务班组负责人来说,电工证不仅关系…

📰

电工证去哪查真假?网上查询全流程避坑指南

电工证去哪查真假?网上查询全流程避坑指南 不知道去哪报名怕被中介坑,电工证去哪查真假?网上查询其实很简单,关键是你得用对地方。如今,电工证成了很多工人找工作的“硬门槛”,可一不留神就被中介骗了钱还拿不到证。今天就从你最关心的问题出发,帮你理…

📰

1990年电工证图片模拟考试题库

电工证过期了不知道怎么复审?网上查询教你一步步搞定 证书过期了不知道怎么复审延期,很多人在面对这个问题时,手忙脚乱,甚至错过关键时间点。尤其是像1990年电工证图片这类老证书,复审流程与现在大不相同,如果不了解,很容易被误判为无效证件。现在…

📰

电工证过期了不知道怎么复审延期?考电工证什么内容通过率揭秘全在这里

电工证过期了不知道怎么复审延期?考电工证什么内容通过率揭秘全在这里 证书过期了不知道怎么复审延期?这个问题困扰了太多电工从业者,尤其是在河南信阳浉河区这类基层地区,很多电工朋友拿到证后疏于管理,一不留神就错过了年审时间。别急,本文将从【考电…

📰

电工证的年审时间郑州报考避坑指南

电工证的年审时间郑州报考避坑指南 你还在为找工作发愁?特种作业证没办下来,连门都进不去。特别是在郑州,很多岗位都明确要求持有电工证,否则连面试机会都没有。今天我就以三门峡一位转岗电工的实际经历为例,带大家深入聊聊【电工证的年审时间】,以及【…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬