回溯-排列型

news/2024/11/16 20:52:01/文章来源:https://www.cnblogs.com/r1-12king/p/18305180

 

 

 利用哈希表

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:ans = []path = []n = len(nums)def dfs(i, s):if i==n:ans.append(path[:])returnfor x in s:path.append(x)dfs(i+1, s-{x})path.pop()dfs(0, set(nums))return ans

利用访问数组

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:ans = []path = []n = len(nums)on_path = [False]*ndef dfs(i):if i==n:ans.append(path[:])returnfor j in range(n):if not on_path[j]:path.append(nums[j])on_path[j] = Truedfs(i+1)on_path[j] = Falsepath.pop()dfs(0)return ans

 

直接将nums[i] 的元素超出题目设置范围

class Solution:def permute(self, nums: List[int]) -> List[List[int]]:ans = []path = []n = len(nums)def dfs(i):if i==n:ans.append(path[:])returnfor j in range(n):if nums[j] <=10 :path.append(nums[j])nums[j]+=100dfs(i+1)nums[j]-=100path.pop()dfs(0)return ans

 

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

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

相关文章

Cilium Gateway API 特性(转载)

Cilium Gateway API 特性Cilium Gateway API 特性(转载) 一、环境信息主机 IPubuntu 10.0.0.234软件 版本docker 26.1.4helm v3.15.0-rc.2kind 0.18.0kubernetes 1.23.4ubuntu os Ubuntu 22.04.6 LTSkernel 5.15.0-106二、Cilium Gateway API 流程图Cilium 现在提供完全一致…

Java中的泛型(很细)

非常好,让我们深入探讨Java中的泛型这个重要主题。我将按照之前提供的框架,为您创作一篇全面而专业的技术博客文章。 引言 在Java编程世界中,泛型(Generics)是一个革命性的特性,它彻底改变了我们编写和组织代码的方式。自Java 5引入以来,泛型已成为Java语言不可或缺的一…

祝贺小鹏汽车Gallardot同学成为Apache DolphinScheduler Committer!

社区迎来新committer!这次是来自小鹏汽车的Gallardot,看看他与Apache DolphinScheduler社区的故事吧。对话社区 Q1:您为Apache DolphinScheduler社区提交过哪些贡献(包括代码和非代码)?请具体描述您的贡献。 A: 我主要专注于提升Apache DolphinScheduler在云原生 Kuberne…

zabbix“专家坐诊”第246期问答

问题一 Q:有哪位大哥知道这是啥情况,6.4主动检查接口显示未知?A:看看agent配置文件的主采集有没有填写正确IP。 Q:我刚刚客户端重新授权,发现可以预警了,但是还是灰色的,我尝试输入错误的密码,可以预警,但是这个灰色有点奇怪,在6.0版本上没有这个问题,我现在部署了…

国产数据库:数字时代的科技巨擘

未来,随着技术创新的不断推进和市场需求的持续扩展,国产数据库将继续发挥其重要作用,推动我国信息技术行业的进步和数字经济的蓬勃发展。它们不仅是技术革新的弄潮儿,更是国家信息安全和数字化建设的坚实支柱。国产数据库:技术革新 想象一下,国产数据库就像是一位在信息技…

go sync 与 direct

来自:https://www.qiyacloud.cn/2021/04/2021-04-30/ 写的数据安全吗? 思考一个问题:写数据做到什么程度才叫安全了? 就是:用户发过来一个写 IO 请求,只要你给他回复了 “写成功了”,那么无论机器发生掉电,还是重启等等之类的,数据都还能读出来。 所以,在我们不考虑数…

免费解锁旅游数据新维度:可视化工具让数据说话

随着旅游业的蓬勃发展,海量的数据如同繁星点点,记录着每一位旅者的足迹与偏好。然而,如何将这些复杂的数据转化为直观、易懂的信息,为旅游企业精准决策、为消费者提供更加个性化的服务,成为了行业内外共同关注的焦点。想象一下,当你不再需要埋头于密密麻麻的表格和图表中…

nginx启动命令 + 注意

参考链接—— https://www.cnblogs.com/taiyonghai/p/9402734.html下载地址—— https://nginx.org/en/download.html 下载stable version下的版本 ——————启动 虽然直接双击nginx.exe启动也可以,但它启动之后没有提示,还需要去任务管理器中确认就很麻烦 这里记一下cmd命…

工程化Vue使用

目录环境准备Vue项目-创建Vue项目开发流程API风格案例推荐阅读:VUE-局部使用 环境准备介绍:create-vue是Vue官方提供的最新的脚手架工具,用于快速生成一个工程化的Vue项目。create-vue提供了如下功能:统一的目录结构 本地调试 热部署 单元测试 集成打包依赖环境:NodeJSNod…

Salesforce业务分析师认证最新考纲,建议收藏!

Salesforce业务分析师认证考试专为具有Salesforce经验的业务分析师而设计的。业务分析师的工作是为了推动业务改进,并与利益相关者合作以了解客户环境中的业务需求和价值。 官方的考试指南指出,备考者需要有2年Salesforce平台经验,2年业务分析师经验,包括成功拥有和交付业务…

推荐2款.NET开源、轻便、实用的Windows桌面启动器

Flow Launcher Flow Launcher是一款.NET开源(MIT License)、免费、功能强大、方便实用的 Windows 文件搜索和应用程序启动器,能够帮助你快速查找文件、启动应用程序和执行系统操作,提高工作效率和操作便利性。并且生态完善,有插件商店,你可以查看完整的插件列表,或通过 …

Nuclei的安装

一、安装基础Golang 通过yum install go 安装的go版本是1.20.14,无法满足nuclei的环境要求, 使用 yum remove go 卸载删除已安装的go语言环境, 通过go 官网下载需要的go版本,https://go.dev/dl/ 下载在/usr/local目录下,cd /usr/local , wget https://go.dev/dl/go1.22.…