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

台州网站推广技巧付费网站被挂了黑链

台州网站推广技巧付费,网站被挂了黑链,企业网站建设 制作,写的网站怎么做接口题目 17. 电话号码的字母组合 中等 相关标签 哈希表 字符串 回溯 给定一个仅包含数字 2-9 的字符串#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下#xff08;与电话按键相同#xff09;。注意 1 不对应任何字母。…题目 17. 电话号码的字母组合 中等 相关标签 哈希表   字符串   回溯 给定一个仅包含数字 2-9 的字符串返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下与电话按键相同。注意 1 不对应任何字母。 示例 1 输入digits 23 输出[ad,ae,af,bd,be,bf,cd,ce,cf]示例 2 输入digits 输出[]示例 3 输入digits 2 输出[a,b,c]提示 0 digits.length 4digits[i] 是范围 [2, 9] 的一个数字。 思路和解题方法 代码首先定义了一个常量数组 letterMap其中每个元素表示数字0-9对应的字符集合。这样我们可以通过数字来索引 letterMap 中的元素得到对应的字符集合。接下来代码定义了两个成员变量 ans 和 s分别用于存储最终的答案集合和临时的组合结果。然后代码定义了一个递归函数 backtracking该函数通过参数 digits 和 index 来表示当前处理的数字串和目前处理到的位置。在 backtracking 函数中当 index 等于 digits 的大小时说明已经找到了一种组合将 s 加入到答案集合 ans 中并返回。否则获取当前位置的数字 digit以及它对应的字符集合 letters。接下来通过循环遍历当前数字对应的每个字符并将其依次加入到临时组合结果字符串 s 中。然后递归调用 backtracking 函数处理下一个数字的字母组合。最后在完成递归调用后进行回溯操作将刚才加入的字符移出继续尝试下一个字符。在主函数 letterCombinations 中首先清空临时字符串 s 和答案集合 ans。然后判断输入的数字串是否为空如果为空直接返回空的答案集合。否则调用 backtracking 函数开始搜索字母组合。最后返回最终的答案集合。 复杂度 时间复杂度: O(3m×4n) 算法的时间复杂度为 O(3m×4n)其中 m 表示输入数字串中对应字母集合大小为 3 的数字个数n 表示输入数字串中对应字母集合大小为 4 的数字个数。因为一般情况下一个数字对应 3 个字母另外两个数字对应 4 个字母所以总的时间复杂度为 O(3m×4n)。 空间复杂度 O(mn) 空间复杂度为 O(mn)即递归栈的深度。在最坏情况下所有数字都对应字母集合大小为 4所以根据上面的时间复杂度分析有 mn 个数字需要进行搜索因此栈的深度也为 mn所以空间复杂度为 O(mn)。 c 代码 class Solution { public:const string letterMap[10]{, // 数字0对应的字母为空字符串因为通常没有字母对应数字0, // 数字1对应的字母为空字符串因为通常没有字母对应数字1abc, // 数字2对应的字母为abcdef, // 数字3对应的字母为defghi, // 数字4对应的字母为ghijkl, // 数字5对应的字母为jklmno, // 数字6对应的字母为mnopqrs, // 数字7对应的字母为pqrstuv, // 数字8对应的字母为tuvwxyz // 数字9对应的字母为wxyz};vectorstring ans; // 存储最终的答案集合string s; // 用于临时存储每个组合结果的字符串void backtracking(string digits,int index){if(index digits.size()) // 如果达到了数字串的末尾说明已经找到了一种组合将其加入到答案集合中{ans.push_back(s);return ;}int digit digits[index] - 0; // 获取当前位置的数字string letters letterMap[digit]; // 获取当前数字对应的字母集合for(int i0;iletters.size();i) // 遍历当前数字对应的每个字母{s.push_back(letters[i]); // 将字母加入到临时组合结果字符串中backtracking(digits,index 1); // 继续递归下一个数字的字母组合s.pop_back(); // 回溯将刚才加入的字母去除尝试下一个字母}}vectorstring letterCombinations(string digits) {s.clear(); // 清空临时字符串sans.clear(); // 清空答案集合ansif(digits.size() 0) // 如果输入的数字串为空则直接返回空的答案集合{return ans;}backtracking(digits,0); // 开始回溯搜索字母组合return ans; // 返回最终的答案集合} };觉得有用的话可以点点赞支持一下。 如果愿意的话关注一下。会对你有更多的帮助。 每天都会不定时更新哦  人  。
http://www.hkea.cn/news/14549597/

相关文章:

  • 单页静态网站怎么做wordpress 不发送邮件
  • wordpress怎么加站点图标门户网站建设案例
  • 网站平台建设费用的会计核算网站建设的电话销售好做不
  • 如何创建一个免费网站重庆是哪个省份
  • 新手学做网站难吗ui设计 国外网站
  • 北京网站制作招聘网肥城网站建设费用
  • 深圳网站开发哪个公司好如何在百度打广告
  • 茶叶外贸网站建设如果做网站赚钱
  • 外国网站怎么做扶风网站开发
  • 高要区住房和城乡建设局网站线上ui设计培训哪个好
  • 怎样用数据库做网站网站建设工作计划表
  • 小程序网站开发运行合同WordPress配置pdo
  • 城市生活网官方网站appiis做网站主目录选哪里
  • 网站设计与网页制作正文神华集团两学一做网站
  • 方案 网站有了主机如何做网站
  • 温州建站程序天津首页
  • 网站开发相关书籍资料网站 业务范围
  • 想自学广告设计怎么学如何对网站进行优化
  • 网站开发项目建设规范wordpress图文主题
  • 网站建设在国内外有何趋势书店网站开发目的和意义
  • 怎么做捐款网站深圳做app网站的公司
  • 用名字做头像是什么网站北京网站建设哪家设计好
  • 微信端网站设计规范网站留言短信通知 源码
  • 新郑市住房建设局网站中国建站平台网
  • 北京网站优化推广徐州百度关键词优化
  • 成都产品网站建设营销策划推广
  • 许昌定制网站建设代理聚名网是干嘛的
  • 重庆公司网站seo国内什么网站用asp.net
  • p2p网站的建设查询别人用的wordpress主题
  • 官方微网站吗wordpress带灯箱的主题