排列组合与字符串排列算法解析 📅 发布时间:2026/7/5 10:59:22 👁️ 浏览次数: 取ABCD从ABCD中取出五个字母可以重复但是需要满足A为偶数次0也是偶数输出排列组合的个数。该程序计算长度为5的组合数每个位置可以是A(1)、B(2)、C(3)或D(4)统计其中A出现次数为偶数的组合数量。def count_combinations(): total 0 # 统计符合条件的排列总数 def backtrack(index, count_a): nonlocal total # 终止条件选够5个字母index从1到5共5个位置 if index 6: # 检查A的次数是否为偶数 if count_a % 2 0: total 1 return # 遍历4个选择1A2B3C4D for num in range(1, 5): # 如果选的是A次数1 new_count count_a 1 if num 1 else count_a backtrack(index 1, new_count) backtrack(1, 0) # 从第1个位置开始初始A的次数为0 print(total)排列字符串去重输入一个字符串输出它所有种排列的可能。输入样例AAB输出样例AABABABAAdef string_permutations(): # 1. 获取用户输入的字符串并去除首尾的空格避免输入时不小心加了空格影响结果 s input().strip() # 2. 获取字符串的长度比如输入AABn3 n len(s) # 3. 创建一个和字符串长度相同的布尔列表标记字符是否被选中初始全为False即都未选中 visited [False] * n # 4. 初始化一个空列表用来存储所有生成的排列包括重复的 permutations [] # 5. 定义回溯函数递归生成所有排列 # index当前正在构建的排列的位置比如index0是第一个字符index2是第三个字符 # current当前已经构建好的排列字符串比如A、AA、AAB def backtrack(index, current): # 6. 终止条件如果当前位置等于字符串长度说明排列已构建完成 if index n: # 7. 将完整的排列添加到结果列表中 permutations.append(current) # 8. 结束当前递归回到上一层继续尝试其他字符 return # 9. 遍历所有字符尝试将每个未被选中的字符加入当前排列 for i in range(n): # 10. 检查第i个字符是否未被选中避免重复选同一个字符 if not visited[i]: # 11. 标记第i个字符为已选中防止后续重复使用 visited[i] True # 12. 递归调用位置1当前排列拼接第i个字符比如currentAs[i]B则变成AB backtrack(index 1, current s[i]) # 13. 回溯撤销选择将第i个字符标记为未选中供下一轮循环使用 visited[i] False # 14. 调用回溯函数初始状态位置0当前排列为空字符串 backtrack(0, ) # 15. 去重排序 # - set(permutations)将列表转集合自动去除重复的排列集合的元素唯一 # - list(...)将集合转回列表 # - sorted(...)对去重后的排列按字母顺序排序比如AAB、ABA、BAA unique_perms sorted(list(set(permutations))) # 16. 遍历去重排序后的排列逐行输出 for perm in unique_perms: print(perm) # 17. 程序入口只有当直接运行该脚本时才执行函数 if __name__ __main__: string_permutations()
vue+springboot智能医疗辅助系统的 目录技术选型与架构设计核心功能模块分解关键技术实现方案数据安全与合规要点开发里程碑计划性能优化策略开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!技术选型与架构设计 前端采用Vue3TypeScriptElement Plus/Vant组合&… 2026/5/17 6:39:35
[技术干货] 告别手动搬运:基于 Python+RPA 的 1688 数据采集、清洗与多平台自动上架原理解析 1688批量采集 数据清洗 RPA开发 Python自动化 Pandas DrissionPage 多平台分发 电商效率工具前言在当今的电商精细化运营中,无论是做国内的全网矩阵分发(覆盖淘宝、抖音、小红书、微信私域),还是做垂直类目的精铺,供应… 2026/7/4 1:26:28
《计算机视觉:从入门到精通》专栏 欢迎关注本专栏,一起探索新世界 大家好,我是HYK。985院校硕士毕业,现担任算法研究员一职,热衷于深度学习算法研究与应用。曾获得阿里云天池比赛第三名,CCE比赛第五名,科大讯飞Q比赛第六名。拥有多项发明专… 2026/5/17 6:39:34
Windows系统下Dify本地化部署实战:Docker环境搭建与问题排查指南 🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在尝试将AI应用开发平台Dify部署到本地Windows环境时,发现不少教程对Windows下Docker部署的细节和潜在问题语焉不详。… 2026/7/5 10:59:16
WarcraftHelper:魔兽争霸3现代化终极指南 - 解锁帧率、宽屏适配与地图限制解除 WarcraftHelper:魔兽争霸3现代化终极指南 - 解锁帧率、宽屏适配与地图限制解除 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还在… 2026/7/5 10:59:16
AI模型微调脚本开发与优化实战指南 1. 模型微调脚本的核心价值与应用场景在AI模型开发的实际工作中,模型微调脚本就像厨师的调味配方——它决定了基础模型如何适应特定任务的口味。不同于从零训练需要耗费大量计算资源的"全餐制作",微调更像是用预制高汤快速烹制符合当地人口味的… 2026/7/5 10:57:16
脑机接口开发实战:从EEG信号处理到机器学习应用 1. 脑机接口开发者的第一课:从神经信号到代码逻辑 2003年我第一次在实验室看到猴子用思维控制机械臂抓取香蕉时,那种震撼至今难忘。当时那套系统需要开颅植入电极,而现在我们已经有非侵入式的头戴设备可以实现基础意念控制。作为神经编程的入… 2026/7/5 10:55:16
Kafka+Python实现物联网数据流实时处理实战 1. 物联网数据流处理的行业背景与挑战 在智能家居、工业4.0等场景中,传感器设备每秒钟能产生数百万条数据记录。去年参与某智能制造项目时,我们遇到一个典型问题:200台机床传感器每秒产生8000条数据,传统数据库在写入时直接崩溃。… 2026/7/5 10:55:16
PCB铜箔制造工艺与应用场景全解析 1. PCB铜箔的工业地位与应用场景 在现代电子工业中,印刷电路板(PCB)如同电子设备的"骨架"与"神经",而铜箔则是构成这个系统的"血液"。作为PCB制造的核心基础材料,铜箔的质量直接决定了电… 2026/7/5 10:53:16
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36
6个月转型AI工程师:实战路径与核心技能 1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公… 2026/7/5 0:01:32
TPAFE0808与PIC18F87K22的多通道信号采集方案 1. 项目背景与核心需求在工业自动化、医疗设备和科研仪器等领域,多通道信号采集与系统监测是基础且关键的技术需求。传统方案往往面临通道数量不足、信号调理复杂、系统集成度低等问题。TPAFE0808作为一款8通道模拟前端芯片,与PIC18F87K22微控制器的组合… 2026/7/5 0:01:32
STC3115与PIC18LF26K80构建高精度电池管理系统 1. STC3115与PIC18LF26K80在电池管理系统中的核心价值在现代电子设备中,电池管理系统(BMS)的重要性不亚于设备的核心处理器。STC3115作为一款高精度电池电量监测IC,与PIC18LF26K80微控制器的组合,构成了一个既能精确监控又能智能管理的完整解… 2026/7/5 0:05:36