news 2026/6/10 1:13:27

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/6/7 2:09:58

dpdk-testpmd在超过128核双numa场景启动失败问题

问题描述&#xff1a; dpdk-testpmd在超过128核双numa场景中&#xff0c;启动失败问题&#xff0c;问题日志如下&#xff0c;扫描内存的时候&#xff0c;无法使用numa1的内存。 ... EAL: Detected lcore 0 as core 0 on socket 0 EAL: Detected lcore 127 as core 215 on socke…

作者头像 李华
网站建设 2026/6/7 1:58:15

pdb设置内存参数

查看pdb设置的参数 set linesize 120 column pdb_name format a10 column name format a30 column value$ format a30select ps.db_uniq_name,ps.pdb_uid,p.name as pdb_name,ps.name,ps.value$ from pdb_spfile$ psjoin v$pdbs p on ps.pdb_uid p.con_uid order by 1, 2, …

作者头像 李华
网站建设 2026/6/7 2:48:05

索引的原理

一、索引的核心思想&#xff1a;空间换时间代价&#xff1a;索引需要占用额外的存储空间&#xff0c;并且会在数据增删改时引入额外的维护开销。收益&#xff1a;通过预先建立并维护一个更小的、针对性更强的数据结构&#xff0c;使得查询时能以远快于遍历全表的速度定位到目标…

作者头像 李华
网站建设 2026/6/9 23:38:29

基于大数据对B站热门视频的数据分析与数据研究系统(程序+文档+讲解)

课题介绍在 B 站内容生态精细化运营、创作者赋能需求下&#xff0c;传统热门视频分析存在 “维度单一、实时性差、规律挖掘不足” 的痛点&#xff0c;基于大数据技术构建的 B 站热门视频数据分析与研究系统&#xff0c;适配平台运营人员、UP 主、数据分析师等角色&#xff0c;整…

作者头像 李华
网站建设 2026/6/7 7:10:56

学长亲荐10个AI论文软件,助你轻松搞定本科毕业论文!

学长亲荐10个AI论文软件&#xff0c;助你轻松搞定本科毕业论文&#xff01; 论文写作的“隐形助手”&#xff0c;你真的了解吗&#xff1f; 在当今这个信息爆炸的时代&#xff0c;AI 工具已经成为许多本科生撰写毕业论文时不可或缺的帮手。无论是内容创作、逻辑梳理&#xff0c…

作者头像 李华
网站建设 2026/6/7 7:27:17

佳明自动驾驶系统成功实现小型飞机无人干预自动着陆

美国联邦航空管理局证实&#xff0c;佳明公司的自动着陆产品在首次实际紧急情况应用中取得成功&#xff0c;一架小型飞机在科罗拉多州落基山都市机场完全依靠自动化系统安全紧急降落。佳明紧急自动着陆系统的设计目标是在"飞行员无法驾驶的紧急情况下自动接管飞行的完全控…

作者头像 李华