成都学校网站制作设计师网站登录入口

web/2025/10/3 5:53:15/文章来源:
成都学校网站制作,设计师网站登录入口,淮安网站建设哪家好,百度人工优化文章目录 四数之和题目描述示例 1示例 2提示解决方案1#xff1a;【四层遍历查找】解决方案2#xff1a;【哈希表】【三层遍历】 结束语 四数之和 四数之和 题目描述 给你一个由 n 个整数组成的数组 nums #xff0c;和一个目标值 target 。请你找出并返回满足下述全部条件… 文章目录 四数之和题目描述示例 1示例 2提示解决方案1【四层遍历查找】解决方案2【哈希表】【三层遍历】 结束语 四数之和 四数之和 题目描述 给你一个由 n 个整数组成的数组 nums 和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] 若两个四元组元素一一对应则认为两个四元组重复 0 a, b, c, d n a、b、c 和 d 互不相同 nums[a] nums[b] nums[c] nums[d] target 可以按 任意顺序 返回答案 。 示例 1 输入nums [1,0,-1,0,-2,2], target 0输出[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]] 示例 2 输入nums [2,2,2,2,2], target 8输出[[2,2,2,2]] 提示 1 nums.length 200-109 nums[i] 109-109 target 109 解决方案1【四层遍历查找】 对于解决【四数之和】这个问题一种直观的解法是四层循环枚举所有可能的四元组然后判断它们的和是否为目标值target但是这样的时间复杂度是 O(n4)对于较大的数组来说是不可接受的。 解决方案2【哈希表】【三层遍历】 在探讨【四数之和】这一算法题之前我相信许多读者已经对【三数之和】有所涉猎。在【【LeetCode刷题笔记6-1】【Python】【三数之和】【哈希表】【中等】】中我详细介绍了如何设计基于【哈希表】的算法解决【三数之和】问题。 现在摆在我们面前的是【四数之和】问题它与【三数之和】在本质上是一样的。因此我们很自然地会把解决【三数之和】的算法搬过来在此基础上修改从而解决【四数之和】问题。 完整代码如下 class Solution:def fourSum(self, nums: List[int], target: int) - List[List[int]]:hash_map {}num_idx 0new_nums []for idx, num in enumerate(nums):if num not in hash_map:hash_map[num] [num_idx]new_nums.append(num)num_idx 1else:# 修改1原数组的任意元素都可以重复至多四次if len(hash_map[num]) 4: hash_map[num].append(num_idx)new_nums.append(num)num_idx 1else:passresult_list [] n len(new_nums)is_used_results set()# 修改2两层遍历改用三层遍历for i in range(n): for j in range(i1, n): for k in range(j1, n):if target -(new_nums[i] new_nums[j] new_nums[k]) in hash_map: for m in hash_map[target -(new_nums[i] new_nums[j] new_nums[k])]: if m i:continueelif m j:continue# 修改3在进行索引去重操作时多判断一次elif m k:continueelse:sorted_result tuple(sorted([new_nums[k], new_nums[i], new_nums[j], new_nums[m]]))if sorted_result in is_used_results: passelse:result_list.append([new_nums[k], new_nums[i], new_nums[j], new_nums[m]]) is_used_results.add(sorted_result) return result_list如果对上面代码的执行逻辑不太熟悉建议参考一下【【LeetCode刷题笔记6-1】【Python】【三数之和】【哈希表】【中等】】中的代码上面的代码和解决【三数之和】的代码绝大部分是一致的注释和算法逻辑也在【【LeetCode刷题笔记6-1】【Python】【三数之和】【哈希表】【中等】】叙述的非常清楚。 因此在这篇博客中我主要叙述一下修改细节。 与【三数之和】问题一样【四数之和】的原数组nums也会出现冗余的情况。但不一样的是【四数之和】允许原数组nums的元素重复至多四次因为存在num*4 target的情况而【三数之和】对于除0以外的任意元素至多重复两次。 基于这个认知我们需要修改【原数组去重部分的代码】使得原数组的任意元素都可以重复至多四次。修改之处在上面的代码已标明。 由于是【四数之和】因此需要从两层遍历改用三层遍历 由于是【四数之和】需要保证四个索引互不相同因此需要额外多进行一次去重操作。 运行结果 复杂度分析 时间复杂度O(N3)其中 N 是新数组new_nums元素的数量。 三层循环遍历新数组 O(N3) 空间复杂度O(N) 需要用哈希表和列表存放新数组 O(N) 结束语 亲爱的读者感谢您花时间阅读我们的博客。我们非常重视您的反馈和意见因此在这里鼓励您对我们的博客进行评论。您的建议和看法对我们来说非常重要这有助于我们更好地了解您的需求并提供更高质量的内容和服务。无论您是喜欢我们的博客还是对其有任何疑问或建议我们都非常期待您的留言。让我们一起互动共同进步谢谢您的支持和参与我会坚持不懈地创作并持续优化博文质量为您提供更好的阅读体验。谢谢您的阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站角色管理系统如何开发电商网站

如下这是一个连接:https://s.tb.cn/c.0vDtL3https://s.tb.cn/c.0vDtL3 解决各种问题。可付费咨询

莱芜网站建设自助建站优化asp网站如何实现伪静态

平时阅读一些远吗分析类文章或是设计应用架构时没少与UML类图打交道。实际上,UML类图中最常用到的元素五分钟就能掌握,下面赶紧来一起认识一下它吧: 一、类的属性的表示方式 在UML类图中,类使用包含类名、属性(field) 和方法(meth…

网站域名申请成都水高新区建设局官方网站

01背包问题 题目链接:46. 携带研究材料 文档讲解:代码随想录 状态:忘了 二维dp 问题1:为啥会想到i代表第几个物品,j代表容量变化? 动态规划中,每次决策都依赖于前一个状态的结果,在…

网站改版 总结加载wordpress外部文件

多线程 线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 (理解:应用软件中互相独立,可以同时运行的功能) 进程 进程是程序的基本执行实体。(理解&#…

电商网站建设费用如何在asp网站

在CentOS系统中,您可以使用以下工具来监控系统的运行情况: 1. top: top 是一个命令行工具,用于实时监控系统的进程、CPU、内存和负载情况。您可以使用以下命令来启动 top: top 输出 2. htop: htop 是一…

满山红厦门网站建设大连市房屋管理局官网

1、今天消费1710元 意外险 住院--集中参保 校---******----服 1220 rmB lunch 240Rmb

合肥做网站设计建设通相似的网站

源码说明PHP萌心上传直链外链网盘源码,小巧单文件,无需数据库,只需PHP运行环境即可。源码安装方法上传文件到PHP运行环境,修改index.php内的配置// 单个文件限制$max_file_size"51200";//大小指的KB,51200是…

网站建设在淘宝上以后让还让发布吗下载app软件安装

使用akshare可以很方便的获取同花顺行业列表,与每个行业对应的个股信息,流程如下: 使用ak.stock_board_industry_summary_ths()获取行业列表循环行业列表,使用ak.stock_board_industry_cons_ths()获取行业对应的个股信息 官方文…

福建建设工程设计备案网站百度网盘优化

这是敏捷开发一千零一问系列的第七篇。(之一,之二,之三,问题总目录)问题松结对编程中,师傅对徒弟安排任务时,对于有想法的徒弟提出的意见怎样解决?方案步骤0:正心&#x…

同城信息服务平台网站头部seo范例

11&#xff1a;C中有关queue常用函数的用法及其注意要项 #include<bits/stdc.h> using namespace std; int main(){queue <int> q;q.push() //在队尾插入一个元素q.pop() //删除队列第一个元素q.size() //返回队列中元素个数q.empty() //如果队列空则返回true…

ppt网站模板北京网站建设报价表

VS2022配置OpenCV环境 关于OpenCV在VS2022上配置的教程可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程 图像马赛克 图像马赛克&#xff08;Image Mosaic&#xff09;的原理基于将图像的特定区域替换为像素块&#xff0c;这些像素块可以是纯色或者平均色&#xff0c…

网站如何实现微网站添加 百度商桥

1.概述 在14.0系统ROM产品定制化开发中,由于需要新增加自定义的功能,所以要增加自定义服务,而app上层通过调用自定义服务,来调用相应的功能,所以系统需要先生成jar,然后生成jar 给上层app调用,接下来就来分析实现的步骤,然后来实现相关的功能 从而来实现所需要的功能 …

网站建设手机软件建网站需要哪些资质

文章目录 1、简介2、观察者模式简单实现抽象主题&#xff08;Subject&#xff09;具体主题&#xff08;ConcreteSubject&#xff09;抽象观察者&#xff08;Observer&#xff09;具体观察者&#xff08;ConcrereObserver&#xff09;测试&#xff1a; 观察者设计模式优缺点观察…

网站建设哪些字体没有版权阅读网站建设

1.概述 接着之前我们对Spring AOP以及基于AOP实现事务控制的上文&#xff0c;今天我们来看看平时在项目业务开发中使用声明式事务Transactional的失效场景&#xff0c;并分析其失效原因&#xff0c;从而帮助开发人员尽量避免踩坑。 我们知道 Spring 声明式事务功能提供了极其…

外贸企业网站源码下载创新的成都网站建设

为什么80%的码农都做不了架构师&#xff1f;>>> 1、公司项目需求。 用户签到活动&#xff0c;会员签到怎么处理&#xff0c;超级会员怎么处理&#xff0c;普通用户签到怎么处理&#xff0c;针对不同的档次&#xff0c;有不同的方案&#xff0c;所以在项目中用到了策…

墓地网站建设价格wordpress即阅文教程

2019独角兽企业重金招聘Python工程师标准>>> 首先在win7上安装nc命令 下载nc程序包&#xff0c;放在c盘目录下&#xff0c;cmd打开命令行&#xff0c;进入nc目录&#xff0c;执行&#xff1a;nc -l -L -p 8888开始监控。再打开一个命令行窗口进入nc目录&#xff0c;…

如何做众筹网站泉州百度推广咨询

源宝导读&#xff1a;“业务模板”作为天际建模平台3.0推出的重要特性&#xff0c;它将元数据复用发挥到了极致&#xff0c;通过业务模板几乎可以覆盖整个建模元数据开发流程&#xff0c;提供业务场景级别的复用能力。本文将介绍“业务模板”的设计原理、实现方案和应用场景。一…

萍乡网站建设公司网页图片大全

详见 集成测试,单元测试隔离 maven-surefire-plugin maven的goal生命周期 Maven生存周期 - 含 integration-test Maven本身支持的命令&#xff08;Goals&#xff09;是有顺序的&#xff0c;越后面执行的命令&#xff0c;会将其前面的命令和其本身按顺序执行一遍&#xff0c;…

网站建设化学图片哪些网站需要备案

1. 为什么要用缓存&#xff1f; 用缓存&#xff0c;主要有两个用途&#xff1a;高性能、高并发。 高性能 假设这么个场景&#xff0c;你有个操作&#xff0c;一个请求过来&#xff0c;吭哧吭哧你各种乱七八糟操作 MySQL&#xff0c;半天查出来一个结果&#xff0c;耗时 600m…