news 2026/8/27 1:16:55

leetcode 困难题 753. Cracking the Safe 破解保险箱

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
leetcode 困难题 753. Cracking the Safe 破解保险箱

Problem: 753. Cracking the Safe 破解保险箱

解题过程

太难了,不会的,看了官方题解和另一个人的题解,总算稍稍理解了,dfs(0);,dfs从0开始,因n-1个0,实际数值还是0,所以的话就从0开始了实际是从”000…00“开始的,欧拉回路最后回到原点,所以答案还需要拼接上n-1个0,也就是ans += string(n-1, ‘0’),欧拉图看了一会才明白怎么连接的,具体的就是pow(k, n-1)个节点,按照题目的意思,需要尽可能的短,每个节点有k个边,从0,1,2,。。。,k-1编号,某个节点n-1个字符,加上编号index,就形成了n位的password,然后去掉第一个数字,就得到后面的n-1个数字即边连接的下一个节点,所以若当前节点是123456,选择的边是9,那么形成了1234569这个数字,去掉第一个数字234569,所以123456和234569通过边9相连

int nei = node * 10 + x;将边的编号拼接上去,seen.count(nei)统计边是否访问过,插入这个边seen.insert(nei),nei % highest去掉第一个数字

Code

class Solution { public: // vector<string> tg; // void dfs(int n, int k, string str) { // if(n==0) { // tg.push_back(str); // return; // } // for(int i = 0; i < k; i++) { // str += (i+'0'); // dfs(n-1, k, str); // str.pop_back(); // } // } int k, highest; unordered_set<int> seen; string ans; string crackSafe(int n, int k) { // dfs(n-1, k, ""); this->k = k; highest = pow(10, n-1); dfs(0); // start from 000...0, length is n-1 ans += string(n-1, '0'); // back to 000...0, length n - 1 return ans; } void dfs(int node) { for(int x = 0; x < k; ++x) { int nei = node * 10 + x; // concat [n-1, index], get n digits if(!seen.count(nei)) { // remember edge had seen, length = n seen.insert(nei); // insert edge dfs(nei % highest); // get n-1 digits in tail, the next node ans += (x + '0'); // get answer } } } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 7:29:32

leetcode 763. Partition Labels 划分字母区间-耗时100%

Problem: 763. Partition Labels 划分字母区间 解题过程 耗时100%&#xff0c;首先统计每个字母的最小最大索引&#xff0c;然后合并所有字母的区间&#xff0c;可以合并的全部合并起来&#xff0c;不能合并的就放在那里&#xff0c;得到合并以后的区间&#xff0c;最后根据最小…

作者头像 李华
网站建设 2026/8/27 9:21:16

SC4D40120H-JSM 碳化硅肖特基二极管

在新能源革命与工业智能化的双重驱动下&#xff0c;碳化硅&#xff08;SiC&#xff09;功率器件凭借耐高温、低损耗、高频化的核心优势&#xff0c;成为电力电子领域升级换代的 “核心引擎”。深耕碳化硅赛道的杰盛微半导体&#xff0c;重磅推出SC4D40120H-JSM 碳化硅肖特基二极…

作者头像 李华
网站建设 2026/8/27 6:23:16

LobeChat能否对接木星卫星观测?冰下海洋生命可能性探讨

LobeChat 能否成为探索木星卫星生命的“数字科研伙伴”&#xff1f; 在人类对宇宙生命的追寻中&#xff0c;木星的冰封卫星——尤其是欧罗巴&#xff08;Europa&#xff09;和恩克拉多斯&#xff08;Enceladus&#xff09;——早已成为天体生物学的焦点。它们冰冷表面之下可能隐…

作者头像 李华
网站建设 2026/8/26 19:22:51

猫抓浏览器扩展:如何用侧边栏让视频资源嗅探变得如此简单

猫抓浏览器扩展&#xff1a;如何用侧边栏让视频资源嗅探变得如此简单 【免费下载链接】cat-catch 猫抓 chrome资源嗅探扩展 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页视频下载而烦恼吗&#xff1f;每次看到喜欢的视频却不知道如何保存&am…

作者头像 李华
网站建设 2026/8/26 14:10:28

LobeChat会话管理机制剖析:精准追踪每一次AI对话

LobeChat会话管理机制剖析&#xff1a;精准追踪每一次AI对话 在当今大语言模型&#xff08;LLM&#xff09;日益普及的背景下&#xff0c;如何让普通人也能轻松、高效地与AI进行多轮深度对话&#xff0c;已经成为产品设计的核心挑战。尽管API调用灵活强大&#xff0c;但对非技术…

作者头像 李华