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

建筑工地网站网站域名与网站首页网址

建筑工地网站,网站域名与网站首页网址,广告设计公司业务员如何开发客户,江西省网站建设先进表彰Problem: 17. 电话号码的字母组合 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 题目给定一串数字#xff0c;要求我们找出所有可能的字母组合#xff0c;即我们可以穷举出所有可能的结果#xff0c;而涉及到穷举我们自然可以想到利用回溯来解决问题#xff0c… Problem: 17. 电话号码的字母组合 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 题目给定一串数字要求我们找出所有可能的字母组合即我们可以穷举出所有可能的结果而涉及到穷举我们自然可以想到利用回溯来解决问题在本题目中我们选择给定字符串digits中的每一个字符作为决策阶段具体的 1.我们先创建一个哈希表将数字与其对应的字符存入数字作为键所有的字符作为值 2.编写并调用回溯函数当决策阶段等于digits的长度时将当前的决策路径添加到结果集合中否则从digits字符串的第一个字符开始回溯调用 解题方法 1.创建结果集合result若当digits为空时返回空集合 2.创建一个String类型的数组mappings作为哈希表索引从0-9用于存储数字与其字符的对应关系其中数字索引作为键所有的字符作为值 3.创建一个char类型的数组数组长度为digits字符串的长度作为回溯过程中的决策路径 4.编写并调用回溯函数参数列表为String[] mappings, String digits, int k, char[] path,其中由参数mappings 与digits决定参数列表k表示决策阶段path表示决策路径 4.1若k等于digits的长度时表示找到一个字母组合则将其添加到结果集合result中 4.2先得到当前决策阶段的digits中的数字字符再通过我们创建的哈希表mappins找出该数字字符对应的所有字母字符 4.3以当前的数字字符对应得所有字母字符开始遍历所有得字母字符并开始回溯调用 注意在上述解题方法中我们没有显示地在回溯调用后将当前的决策阶段状态还原回溯的本质就是一个多状态转移但这并不表示我们没有实现该操作而是因为我们定义的决策阶段是一个char类型的数组再回溯递归的调用过程中会将原来索引位置上的值给覆盖掉以达到恢复当前决策阶段的操作 复杂度 时间复杂度: 最坏时间复杂度 O ( 3 m × 4 n ) O(3^m \times 4^n) O(3m×4n),其中m表示选择对应只有三个字母的数字的个数n表示对应四个字母的个数 空间复杂度: O ( n m ) O(n m) O(nm) Code class Solution {//Result listprivate ListString result new ArrayList();/*** Get the all possible combinations** param digits The combination given by topic* return ListString*/public ListString letterCombinations(String digits) {if (digits.length() 0) {return Collections.emptyList();}//Create the reflectionString[] mappings new String[10];mappings[2] abc;mappings[3] def;mappings[4] ghi;mappings[5] jkl;mappings[6] mno;mappings[7] pqrs;mappings[8] tuv;mappings[9] wxyz;//Decision pathchar[] path new char[digits.length()];backtrack(mappings, digits,0, path);return result;}/*** Use backtracking to find all possible combinations** param mappings Mapping between letters and numbers* param digits Combination of numbers given by topic* param k Decision stage* param path Decision path*/private void backtrack(String[] mappings, String digits, int k, char[] path) {//End conditionif (k digits.length()) {result.add(new String(path));return;}String mapping mappings[digits.charAt(k) - 0];for (int i 0; i mapping.length(); i) {path[k] mapping.charAt(i);backtrack(mappings, digits, k 1, path);}} }
http://wiki.neutronadmin.com/news/71118/

相关文章:

  • 宁波网站推广宣传公司排名网站源码是什么
  • asp网站开发环境cpu餐饮小程序制作
  • 巢湖做网站西宁手机微网站
  • 注册公司需要的网站建设凡客诚品的商业模式
  • 无锡网站制作哪里实惠临沂网站建设企业
  • 做电商网站的流程seo专业培训需要多久
  • 深圳免费网站排名优化wordpress更新php版本号
  • 有哪些企业可以做招聘的网站有哪些内容云南建设银行官方网站
  • 微设计公司网站第一ppt网
  • 藁城区建设局网站做音乐网站要注意什么
  • 许昌建设网站网站建设可行性分析报告范文
  • 微信外部链接网站手机制作网页链接的软件
  • 网站域名备案多长时间做电子章网站
  • 建设广州公司网站天元建设集团有限公司的商业承兑汇票能按时支付吗
  • php做网站常见实例网络营销策略主要包括
  • 网站空间提供好的做网站的公司
  • 国外什么推广网站好建设银行贵金属网站
  • 黄石网站建设多少钱汕头房产网
  • 个人性质的网站 备注怎么写wordpress 图片墙插件
  • 如何做seo整站优化各大网站域名
  • 北京网站设计公司cg成都柚米科技15长沙微信营销公司
  • 简述如何对网站进行推广?网站模板 修改
  • 可以把网站建设在云主机上吗企业邮箱注册需要什么
  • 巴中建设局网站wordpress非插件幻灯
  • 企业做网站需要做哪些工作免费网站商城模板
  • 电子商务 网站开发批量替换wordpress文章中的文字
  • 广州网站建设出名 乐云践新做网站用虚拟主机好不好
  • intitle:网站建设天元建设集团有限公司信息
  • 网站站内优化案例做网站主播要什么条件
  • 茶文化网站建设内容三亚做网站多少钱一平方