当前位置: 首页 > news >正文

哪个网站可以做简历宣讲家网站两学一做

哪个网站可以做简历,宣讲家网站两学一做,做个网站多少钱找谁做,wordpress如何更新文章目录 四数之和题目描述示例 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.pierceye.com/news/207245/

相关文章:

  • wordpress 网站生成app互联网装修公司叫什么
  • 揭阳做网站哪个好黑群晖架设wordpress
  • 网站建设与维护经营范围pc官方网站
  • 龙岗网站建设多少钱设计工作室经营范围
  • 今天建设银行网站无法登录做网站菠菜什么意思
  • 网站伪静态如何配置文件设置网站首页
  • 太原网站建设模板站将电脑做的网站放到外网
  • 网站建设怎么用长尾做标题北京手机站建站
  • 什么是网站功能需求wap网页文字游戏
  • 网站开发者模式怎么保存网站建设3d插件
  • 域名备案网站要不要关景县有专业做网站人员吗
  • 门户网站建设方案ppt公司网站建设全包
  • 网站建站的流程网站建设服务那家好
  • 湖南平台网站建设制作企业网站关联优化
  • 优秀网站设计作品大连seo外包
  • 共享空间网站开发公司做网站 最好的开源cms
  • 免费图片素材网seo wordpress主题
  • ipad可以做网站推广吗wordpress主题中文
  • 自己做网站要会什么软件下载wordpress 小工具代码
  • 视频拍摄及制作培训网站优化有什么用
  • 沈阳网站排名公司网站开发专业怎么样
  • 电影院网站建设方案网络维护是什么职业
  • 网站建设需要的公司wordpress考试主题
  • 企业网站管理系统多站多语言版电子书推送网站怎么做
  • 海洋公司做网站推广安阳网站如何做优化
  • 南昌网站开发公司哪家公司好网站建设接单
  • 宁波网站制作哪家强调用wordpress的文章编辑器
  • 在线制作手机网站公司网站建设厂家
  • 在线分析网站一个小外贸公司怎么开
  • 给自己的公司做网站怎么做好电脑手机一体网站