代码随想录算法训练营第六天 | 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
📅 2026/7/30 15:16:50
👁️ 次浏览
学习内容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去重。
医药制造是典型的数据密集型行业,既要满足GxP、CSV、NMPA审计等强合规要求,又要支撑新药研发、生产智能化改造,对数据质量的要求远高于一般行业。
过去医药企业的信息化建设多是分模块推进,ERP、LIMS、WMS、临床试验管理等系统各…
📅 2026/7/30 15:16:50
GetQzonehistory:3分钟永久保存你的QQ空间青春回忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory
你是否还记得那些年在QQ空间里写下的心情日记、分享的生活瞬间࿱…
📅 2026/7/30 15:16:49
光伏组件封装材料的选择直接影响着组件的发电效率和使用寿命。在众多封装材料中,玻璃封装EVA膜因其独特的性能组合,成为当前光伏行业的主流选择之一。但你真的了解这种看似普通的薄膜背后隐藏的技术奥秘吗?它究竟如何保护脆弱的太阳能电池片&…
📅 2026/7/30 15:15:49
ChatTTS-ui实战:基于Transformer架构的本地语音合成系统深度解析 【免费下载链接】ChatTTS-ui 一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to synthesi…
📅 2026/7/30 16:13:40
Windows风扇控制终极指南:Fan Control让你的电脑安静又高效 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trendi…
📅 2026/7/30 16:13:40
轻量化运营级网盘系统 后台功能丰富上传主机根目录访问/install.php进行数据库安装,输入数据库信息和管理员账号密码即可后台登录和前台在一块,用管理员账号密码登录进入后台管理 后台可自定义用户初始容量大小,可配置邮箱服务器,…
📅 2026/7/30 16:13:40
3分钟学会在Windows电脑上直接安装运行安卓应用 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer
你是否想在Windows电脑上直接运行安卓应用,但又不想安装臃肿…
📅 2026/7/30 16:13:40
如何快速搭建无线VR串流:面向新手的完整指南 【免费下载链接】ALVR Stream VR games from your PC to your headset via Wi-Fi 项目地址: https://gitcode.com/gh_mirrors/alvr/ALVR
你是否厌倦了VR游戏时被线缆绊倒的尴尬?是否梦想在客厅里自由移…
📅 2026/7/30 16:13:40
1. 项目概述:从一道经典面试题说起“String s new String("abc");这行代码创建了几个对象?” 如果你是一名Java开发者,无论资历深浅,几乎都曾在面试或技术讨论中遇到过这个问题。它看似简单,却像一把钥匙&a…
📅 2026/7/30 16:12:40
本文关键词:geo2是共价化合物哎,说实话,每次看到化学题里那些弯弯绕绕的电子式,我就头大。特别是遇到那种非要让你判断是离子还是共价的,心里就发毛。今天咱不整那些虚头巴脑的定义,就聊聊二氧化硅,也就是大家常说的硅石、石英,很多人会误写成geo2,虽然化学式不对,但…
📅 2026/7/30 0:00:24
B4557 [GESP202606 四级] 扫雷 https://www.luogu.com.cn/problem/B4557 中国计算机学会(CCF)2026年6月C四级讲解——扫雷 https://www.bilibili.com/video/BV1MCMg6AEXR/ B4557 [GESP202606 四级] 扫雷 https://www.bilibili.com/video/BV1ZKTj6ZEVh/ 2…
📅 2026/7/30 0:00:26
Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer
您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…
📅 2026/7/30 0:00:26
更多请点击:
https://codechina.net
第一章:AI帮助理解数学概念 人工智能正以前所未有的方式重塑数学学习的路径。通过自然语言处理与符号计算的深度融合,AI不仅能解析抽象定义,还能将定理、证明和几何直觉转化为可交互、可验证的…
📅 2026/7/30 1:16:07
1. 项目背景与核心价值去年参与的一个短剧项目让我深刻体会到传统创作流程的痛点:编剧团队花了三周打磨剧本,角色设计反复修改了七版,最后成片时又因为演员档期问题不得不临时调整分镜。这种低效的创作模式在快节奏的内容行业越来越难以为继。…
📅 2026/7/30 1:16:07
remix-i18next TypeScript类型安全实践:确保翻译键与类型定义同步 【免费下载链接】remix-i18next The easiest way to translate your React Router framework mode apps 项目地址: https://gitcode.com/gh_mirrors/re/remix-i18next
在开发多语言应用时&am…
📅 2026/7/30 1:16:07
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/30 7:16:27
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/29 17:15:46
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/30 5:16:22