Leetcode字符串的排列

在这里插入图片描述

其实可以看成使用其中一个字符加上其他字符的连接,最后用set去重

class Solution:
    @lru_cache(None)
    def permutation(self, s: str) -> List[str]:
        if not s: return ['']
        res = set()
        for i in range(len(s)):
            for j in self.permutation(s[:i]+s[i+1:]):
                res.add(s[i]+j)
        return list(res)

题解链接:https://leetcode.cn/problems/zi-fu-chuan-de-pai-lie-lcof/solution/by-ke-ke-tub-llpt/

其他解法:
相当于每次固定前x位,交换之后的字符串,直到达到长度要求,也是需要通过判断去重

class Solution:
    def permutation(self, s: str) -> List[str]:
        c, res = list(s), []
        def dfs(x):
            if x == len(c) - 1:
                res.append(''.join(c))   # 添加排列方案
                return
            dic = set()
            for i in range(x, len(c)):
                if c[i] in dic: continue # 重复,因此剪枝
                dic.add(c[i])
                c[i], c[x] = c[x], c[i]  # 交换,将 c[i] 固定在第 x 位
                dfs(x + 1)               # 开启固定第 x + 1 位字符
                c[i], c[x] = c[x], c[i]  # 恢复交换
        dfs(0)
        return res

链接:https://leetcode.cn/problems/zi-fu-chuan-de-pai-lie-lcof/solution/mian-shi-ti-38-zi-fu-chuan-de-pai-lie-hui-su-fa-by/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Unity Animation -- 改进动画效果

使用曲线(Curves)改善动画 在上一篇笔记中(Unity Animation -- Overview_亦枫Leonlew的博客-CSDN博客),我们制作了简单的小球弹跳的动画,但这个动画看起来很不自然,小球的弹跳看起来就像是不受…

Leetcode.559 N 叉树的最大深度

题目链接 Leetcode.559 N 叉树的最大深度 easy 题目描述 给定一个 N 叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 N 叉树输入按层序遍历序列化表示,每组子节点由空值分隔(请参见示例)。…

Vector - CAPL - CRC算法介绍(续)

不常用CRC算法 目录 Crc_CalculateCRC8H2F 代码示例 Crc_CalculateCRC32P4 代码示例 Crc_CalculateCRC64 代码示例 Crc_CalculateCRC8H2F 功能:根据数据计算CRC8H2F的相应校验和。 data:待计算CRC8H2F校验和的数据 dataSize:待计算CRC…

Ansys Zemax | 如何使用 Zernike 凹陷表面对全反射系统进行建模

本文介绍如何使用Zernike标准下垂表面对全反射系统进行建模。全反射系统是一种特殊情况,其中Zernike凹陷表面可用于模拟给定场点的所有波长下的性能。使用Zernike凹陷表面代替Zernike相位,因为衍射功率与波长变化时的反射功率不同。一个相位波是任何波长…

linux 共享内存 shmget

专栏内容:linux下并发编程个人主页:我的主页座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物.目录 前言 概述 原理机制 系统命令 接口说明 代码演示 结尾 前言 本专栏主要分享linu…

Day924.自动化测试 -系统重构实战

自动化测试 Hi,我是阿昌,今天学习记录的是关于自动化测试的内容。 自动化测试是一个很容易产生“争议”的话题,也经常会有一些很有意思的问题。 自动化测试不是应该由测试同学来编写吗,开发是不是没有必要学吧?之前…

【Linux】进程理解与学习-程序替换

环境:centos7.6,腾讯云服务器Linux文章都放在了专栏:【Linux】欢迎支持订阅 相关文章推荐: 【Linux】冯.诺依曼体系结构与操作系统 【Linux】进程理解与学习Ⅰ-进程概念 【Linux】进程理解与学习Ⅱ-进程状态 【Linux】进程理解与学…

小白的git入门教程(二)

泥闷嚎 今天接着来学习小白入门git的基本过程 今天要学习的是git里面的常见操作 状态查看 git status 所谓的状态查看就是你可以查看到工作区和暂存区的状态,在这里你可以看到你的工作文件的状态,比如是否已经提交等等 首先我们创建一个文本文件&…

FreeRTOS学习(一)

裸机与RTOS对比 裸机:又称为前后台系统,前台系统指的是中断服务函数,后台系统指的大循环,即应用程序。 实时性差:(应用程序轮流执行)delay:空等待,CPU不执行其它代码结…

【分享】太阳能电池性能测试指标,太阳能电池IV测试软件系统

在现代社会,随着能源需求的不断增加,太阳能电池的应用越来越广泛。太阳能电池是一种利用太阳光能量将化学能转换为电能的半导体材料,它可以将太阳光中的光能直接转换成电能,因此具有广泛的应用前景。本篇文章纳米软件小编为大家分…

JAVAWeb01-BS架构简述、HTML

1. B/S 软件开发架构简述 1.1 Java Web 技术体系图 1.2 B/S 软件开发架构简述 B/S架构 B/S框架,意思是前端(Browser 浏览器)和服务器端(Server)组成的系统的框架结构。B/S架构也可理解为web架构,包含前端、后端、数据库三大组成部分。示意图 &#xf…

学校的地下网站(学校的地下网站1080P高清)

这个问题本身就提得有问题,为什么这么说,这是因为YouTube本身就不是一个视频网站或者说YouTube不是一个传统的视频网站!!! YouTube能够一家独大,可不仅仅是因为有了Google这个亲爹,还有一点&…

ROS实践12 自定义源文件并调用

文章目录运行环境:思路:原理:1.1 头文件编写1.2 编写源文件1.3 编写可执行文件1.4 🏯配置文件🏯1.5 编译运行运行环境: ubuntu20.04 noetic 宏基暗影骑士笔记本 思路: 上一期:类和…

Serverless MQTT 服务即将正式上线、新增 2 个平台安装包

3 月,EMQX 开源版发布了 v5.0.19、v5.0.20 以及 v5.0.21 三个版本,提供 Rocky Linux 9 以及 MacOS 12 Intel 平台安装包。企业版发布了 v4.4.15 以及 v4.4.16 版本,提供了 Apache IoTDB 支持、HStreamDB 最新版本的适配、MongoDB 6.0 支持等多…

Python SMTP发送邮件和线程

文章目录一、Python SMTP发送邮件二、Python3 多线程总结一、Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 python的smtplib提供…

DevExpress WinForms电子表格控件,让应用更快拥有现代办公体验!

DevExpress WinForm Spreadsheet组件能读写XLSx、XLS、CSV、TXT文件、打印并导出为PDF等,为终端用户提供了当今流行的办公UI体验! PS:DevExpress WinForm拥有180组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。…

QT笔记——QuaZIP压缩文件夹

需求:解压缩包文件 开发环境:win10 vs2019 qt5.14.2 开源地址:QuaZIP下载地址 第一步: 用vs 打开“quazip.sln” 可能解决方案也没有出来,我们可以在 菜单栏 视图-》解决方案资源管理器 我们发现资源管理器也加载失…

若依Linux环境部署

若依Linux环境部署1.若依项目2.后端3.Linux环境配置4.环境部署附录1.若依项目 若依官网若依文档前后端分离代码 2.后端 整体项目结构 自己创建好数据库,并在如下地方修改代码 日志路径也需要修改 数据库建表语句 同时redis也要启动并配置好 后端启动 3.Li…

导数的四则运算

导数的四则运算简单函数复杂函数简单函数 我们举例14个基本初等函数的函数导数。 函数原函数导函数常函数(即常数)yCyCyC(C为常数)y′0y0y′0指数函数yax、yexya^x、ye^xyax、yexy′axlna、y′exya^xlna、ye^xy′axlna、y′ex幂…

产品经理考个PMP有多大作用吗?

现在基本上做产品的会有一个PMP证件,从结果导向来说,不对口不会有这么大范围的人来考,但是需要因地制宜,在公司内部里,标准程序并不流畅,产品和项目并不规范,关系错综复杂。 而产品经理的职能又…
最新文章