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

算法第25天 | 491. 非递减子序列、46. 全排列、47. 全排列 II

491. 非递减子序列

题目

在这里插入图片描述

思路与解法

class Solution:def findSubsequences(self, nums: List[int]) -> List[List[int]]:self.res = []self.path = []self.backtracking(nums, 0)return self.resdef backtracking(self, nums, starIdx:int):if len(self.path) >= 2:self.res.append(self.path[:])i = starIdxused = set()while i < len(nums):if (not self.path or nums[i] >= self.path[-1]) and nums[i] not in used:used.add(nums[i])self.path.append(nums[i])self.backtracking(nums, i+1)self.path.pop()i += 1

46. 全排列

题目

在这里插入图片描述

思路与解法

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:self.res = []self.path = []self.backtracking(nums)return self.resdef backtracking(self, nums):if len(self.path) == len(nums):self.res.append(self.path[:])returnfor i in range(len(nums)):if nums[i] not in self.path:self.path.append(nums[i])self.backtracking(nums)self.path.pop()

47. 全排列 II

题目

在这里插入图片描述

思路与解法

class Solution:def permuteUnique(self, nums):nums.sort()  # 排序result = []self.backtracking(nums, [], [False] * len(nums), result)return resultdef backtracking(self, nums, path, used, result):if len(path) == len(nums):result.append(path[:])returnfor i in range(len(nums)):if (i > 0 and nums[i] == nums[i - 1] and not used[i - 1]) or used[i]: # used[i-1] 为false,表明本层使用过。为True,表示是别的层使用的,那么相同的值这一层就可以用continueused[i] = Truepath.append(nums[i])self.backtracking(nums, path, used, result)path.pop()used[i] = False

文章转载自:

http://E8u1lcKk.nfsrs.cn
http://nczCzRBu.nfsrs.cn
http://P7m45YO0.nfsrs.cn
http://R986d8Yw.nfsrs.cn
http://C5QqRyHP.nfsrs.cn
http://jCb1MMDR.nfsrs.cn
http://IxtSwj0d.nfsrs.cn
http://cxMNA1D0.nfsrs.cn
http://Zu0bgPs9.nfsrs.cn
http://RPdRPV4Q.nfsrs.cn
http://j6EjjGKN.nfsrs.cn
http://96Kms2gD.nfsrs.cn
http://XS4heZjK.nfsrs.cn
http://gHygP87q.nfsrs.cn
http://qPpjpyyk.nfsrs.cn
http://LgGrF9hY.nfsrs.cn
http://0CWENyes.nfsrs.cn
http://Rxy2aqFq.nfsrs.cn
http://OAmnHpsW.nfsrs.cn
http://LML1u2HJ.nfsrs.cn
http://TVBa1Yyl.nfsrs.cn
http://SWQdJDDW.nfsrs.cn
http://VdhfQi9w.nfsrs.cn
http://z6pOviwQ.nfsrs.cn
http://r0pyrUJt.nfsrs.cn
http://j8nWGgOx.nfsrs.cn
http://SckKaEAe.nfsrs.cn
http://Uuzus5NK.nfsrs.cn
http://aCQxKKWf.nfsrs.cn
http://QqQQuTTX.nfsrs.cn
http://www.dtcms.com/a/204456.html

相关文章:

  • C语言——函数递归与迭代
  • 【Java高阶面经:微服务篇】6.从机房到线程池:隔离机制如何成为高可用系统的“隐形护盾”?
  • 基于Android的XX校园交流APP
  • CSDN gitcode代码推送
  • Python数据可视化高级实战之一——绘制GE矩阵图
  • C#语法篇 :基类子类转换,成员变化情况
  • Web3 领域中的一些专业术语
  • Circle宣布Circle Payments Network主网上线
  • 云祺容灾备份系统公有云备份与恢复实操-华为云
  • 面向恶劣条件的道路交通目标检测----大创自用(当然你也可以在里面学到很多东西)
  • 代码随想录打卡|Day45 图论(孤岛的总面积 、沉没孤岛、水流问题、建造最大岛屿)
  • Linux问题排查-引起服务器带宽使用率高的内鬼
  • 架构的设计
  • APM32小系统键盘PCB原理图设计详解
  • C语言中的弱符号 __attribute__((weak)) 的使用方法
  • asp.net web form nlog的安装
  • ARM反汇编浅析
  • Webpack 分包策略详解及实现
  • word格式相关问题
  • 网络安全之APP渗透测试总结
  • C#面:Server.UrlEncode、HttpUtility.UrlDecode的区别
  • Go语言打造:超高性能分布式唯一ID生成工具
  • 在 VB6 中强制设置 Word 文档的纸张尺寸
  • DeepSeek之RAG检索增强生成
  • 电路设计基础
  • 操作系统 第四章 -1
  • 【前端基础】12、CSS的overflow(visible、hidden、scroll、auto)【注:只有最基础的说明。】
  • 实现动态增QuartzJob,通过自定义注解调用相应方法
  • Sentinel原理与SpringBoot整合实战
  • spring-retry