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

机试刷题_面试题 08.08. 有重复字符串的排列组合【python】

面试题 08.08. 有重复字符串的排列组合

在这里插入图片描述

class Solution:
    def backtrack(self,res,state,choices,selected):
        if len(state)==len(choices):
            res.append("".join(list(state)))
            return 
        duplicated = set()
        for i,choice in enumerate(choices):
            if choice not in duplicated and not selected[i]:
                duplicated.add(choice)
                selected[i] = True
                state.append(choice)
                self.backtrack(res,state,choices,selected)
                selected[i] = False
                state.pop()


    def permutation(self, S: str) -> List[str]:
        res = []
        self.backtrack(res,state=[],choices=list(S),selected=[False]*len(S))
        return res
        
http://www.dtcms.com/a/38526.html

相关文章:

  • 算法day1 dfs搜索2题
  • 智绘教:Windows平台上的高效悬浮窗画笔工具深度解析
  • mac 安装Eclipse,汉化及安装ERMaster
  • 搜索赋能:大型语言模型的知识增强与智能提升
  • mamba,mamba2环境搭建
  • # C/C++右移高位补0还是1?
  • eclipse配置Spring
  • 数据安全_笔记系列07:数据泄露防护(DLP)(监控与阻断敏感数据外泄)深度解析
  • AI创作教程:用deepseek和猫箱做互动故事游戏
  • NLP的预处理数据
  • 磁盘使用LVM方式挂载目录
  • 【xinference 词嵌入】embbeding 使用教程
  • 大白话Vue 双向数据绑定的实现原理与数据劫持技术
  • 【10】RUST的迭代器与闭包
  • Proof Beyond Boundaries: Hong Kong zkNight 活动精彩回顾
  • 零样本学习 zero-shot
  • LeetCodehot 力扣热题100 全排列
  • 《Keras 3 使用 PointNet 进行点云分类》:此文为AI自动翻译
  • Ubuntu指令(一)
  • SVT-AV1接入ffmpeg说明
  • SSM和SpringBoot有什么区别?
  • Spring 框架学习笔记:从零到精通的 21 个关键点
  • pyautogui库的screenshot()函数
  • python poetry添加某个git仓库的某个分支
  • 学习FreeRTOS推荐几篇质量高的文章
  • 6. grafana的graph简介
  • Android Realm数据库使用与集成指南
  • el-form中使用el-select,下拉框出现错位
  • 【Kimi】自动生成PPT-并支持下载和在线编辑--全部免费
  • 【我的 PWN 学习手札】IO_FILE 之 劫持vtable到_IO_str_jumps