news 2026/5/1 0:50:01

leetcode 784. Letter Case Permutation 字母大小写全排列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 784. Letter Case Permutation 字母大小写全排列

Problem: 784. Letter Case Permutation 字母大小写全排列

解题过程

两种方案的,1、回溯,每次替换即可 2、位运算,整数的二进制1代表反转,去重即可的

Code

class Solution { public: vector<string> tr; unordered_map<string, bool> ump; int ch[16]; void dfs(string s, int cnt) { if(ump.count(s)==0) { tr.push_back(s); } ump[s] = true; if(cnt==s.size()) return; if(ch[cnt] < 0) { dfs(s, cnt + 1); } else { s[cnt] = tolower(s[cnt]); dfs(s, cnt + 1); s[cnt] = toupper(s[cnt]); dfs(s, cnt + 1); } } vector<string> letterCasePermutation(string s) { for(int i = 0; i < s.size(); i++) { if(isdigit(s[i])) { ch[i] = -1; } else if(s[i]>='a' && s[i]<='z') { ch[i] = 1; } else { ch[i] = 2; } } dfs(s, 0); return tr; int n = s.size(); unsigned int end = pow(2, n) - 1, tmp; unordered_map<char, char> pam; for(char c = 'a'; c <= 'z'; c++) { pam[c] = toupper(c); } for(char c = 'A'; c <= 'Z'; c++) { pam[c] = tolower(c); } string pre, tail, scp = s; // tr.push_back(s); unordered_set<string> ret; ret.insert(s); for(unsigned int i = 0; i <= end; i++) { tmp = i; s = scp; for(int j = 0; j < n; j++) { if( (tmp&1) == 1 && isalpha(s[j]) ) { s[j] = pam[s[j]]; ret.insert(s); } else if((tmp&1) == 1 && isdigit(s[j])){ break; } tmp = ( tmp >> 1 ); } } for(auto& k : ret) { tr.push_back(k); } return tr; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/28 5:45:25

需求接口人与研发接口人的职责分别是什么

需求接口人与研发接口人是连接“业务价值”与“技术实现”的两个核心枢纽。需求接口人&#xff08;通常是产品经理或业务分析师&#xff09;的核心职责是“定义”&#xff0c;即明确“做什么”和“为什么做”&#xff0c;他们对业务价值、需求优先级和用户体验负责。研发接口人…

作者头像 李华
网站建设 2026/4/28 23:43:27

基于大数据的短视频用户兴趣分析的设计与实现(程序+文档+讲解)

课题介绍在短视频平台精细化运营、个性化推荐需求下&#xff0c;传统用户兴趣分析存在 “维度单一、实时性差、精准度不足” 的痛点&#xff0c;基于大数据技术构建的短视频用户兴趣分析体系&#xff0c;整合用户行为数据、内容交互数据、环境数据等多源信息&#xff0c;实现用…

作者头像 李华
网站建设 2026/4/19 18:50:43

【最新2023】各省地区生产总值GDP 人均生产总值(人均GDP) 地区生产总值指数的 省级省份

【最新2023】各省地区生产总值GDP 人均生产总值(人均GDP) 地区生产总值指数的 省级省份 时间范围1999-2023年 人均生产总值指数(人均GDP指数) 包括一下: 人均生产总值(人均GDP) 各省地区生产总值GDP 人均生产总值指数(人均GDP指数) 地区生产总值指数 见图 说明:人均生产总值指…

作者头像 李华
网站建设 2026/4/26 2:52:18

医疗自动标注漏医生隐写症状 后来补NLP规则引擎才救回诊断准确率

&#x1f4dd; 博客主页&#xff1a;jaxzheng的CSDN主页 目录医疗数据科学&#xff1a;当Excel遇上心电图&#xff0c;我差点把医院整崩溃了 一、为什么说我是"数据界的急诊科医生" 二、那些年我在医疗数据里踩过的坑 三、那些让人拍案叫绝的医疗数据应用 四、给想入…

作者头像 李华
网站建设 2026/4/30 5:34:37

C 语言字符串函数超全解析

对于刚接触 C 语言的小伙伴来说&#xff0c;字符串函数就像 “字符处理的万能工具”&#xff0c;但用不好也容易踩坑。这篇内容会从 “核心逻辑→常用函数→避坑指南” 一步步讲&#xff0c;先懂底层、再学用法、最后避坑&#xff0c;保证通俗易懂&#xff5e; 一、先搞懂&…

作者头像 李华
网站建设 2026/4/26 6:22:01

海外仓签收入库环节怎么优化?海外仓入库流程优化方案(附TOPWMS实操)

在海外仓一件代发业务中&#xff0c;海外仓入库环节常被低估&#xff0c;但入库的问题直接影响到后续仓库的一系列操作。货物堆堵、SKU混乱、错发追责等入库乱象&#xff0c;并非单纯的管理疏忽&#xff0c;其根源在于缺乏一套系统化、标准化的流程管控体系。今天将根据我们的东…

作者头像 李华