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

天津 网站设计公司百度查询关键词排名工具

天津 网站设计公司,百度查询关键词排名工具,如何做别人的网站,个人博客登录首页解题思路: 映射关系建立:创建一个哈希表存储数字到字母的映射。递归参数: 给定字符串 digits、结果集 result、当前路径 path、当前位置 start。递归过程: 当当前位置 start 等于 digits 长度时,说明已经遍历完 digi…

在这里插入图片描述

解题思路:

  1. 映射关系建立:创建一个哈希表存储数字到字母的映射。
  2. 递归参数: 给定字符串 digits、结果集 result、当前路径 path、当前位置 start。
  3. 递归过程:
  • 当当前位置 start 等于 digits 长度时,说明已经遍历完 digits,加入结果集。
  • 遍历 start 对应的字母集,将当前字母加入临时字符串,递归处理下一个数字。
  • 递归返回后,撤销选择(回溯),继续尝试其他可能的字母。

Java代码:

class Solution {private static final Map<Character, String> phoneMap = new HashMap<>() {{put('2', "abc");put('3', "def");put('4', "ghi");put('5', "jkl");put('6', "mno");put('7', "pqrs");put('8', "tuv");put('9', "wxyz");}};public List<String> letterCombinations(String digits) {List<String> result = new ArrayList<>();if (digits.isEmpty()) return result;backtrack(digits, result, new StringBuilder(), 0);return result;}private void backtrack(String digits, List<String> result, StringBuilder path, int start) {if (start == digits.length()) {result.add(path.toString());return;}char digit = digits.charAt(start);String letters = phoneMap.get(digit);for (char letter : letters.toCharArray()) {path.append(letter);backtrack(digits, result, path, start + 1);path.deleteCharAt(path.length() - 1);}}
}

在这里插入图片描述

复杂度分析:

  • 时间复杂度: 每个数字可能对应 3 个或 4 个字母。假设输入字符串长度为 n,其中 m 个数字对应 3 个字母,k 个对应 4 个字母,则总组合数为 3 m × 4 k 3^m × 4^k 3m×4k。时间复杂度为 O( 3 m × 4 k 3^m × 4^k 3m×4k)
  • 空间复杂度: 递归调用栈的深度最大为输入字符串长度 n,因此空间复杂度为 O(n)。

解题思路:

  1. 递归参数: 给定整数数组 candidates、剩余和 remain(初始化为给定目标整数 target)、结果集 result、当前路径 path、起始索引 start。
  2. 递归过程:
  • 当当前索引 index 等于 digits 长度时,说明已经遍历完 digits,加入结果集。
  • 遍历 index 对应的字母集,将当前字母加入临时字符串,递归处理下一个数字。
  • 递归返回后,撤销选择(回溯),继续尝试其他可能的字母。

Java代码:

class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {List<List<Integer>> result = new ArrayList<>();List<Integer> path = new ArrayList<>();Arrays.sort(candidates);backtrack(candidates, target, result, path, 0);return result;}private void backtrack(int[] candidates, int remain, List<List<Integer>> result, List<Integer> path, int start) {if (remain < 0) {return;} else if (remain == 0) {result.add(new ArrayList<>(path));} else {for (int i = start; i < candidates.length; i++) {if (candidates[i] > remain) break;path.add(candidates[i]);backtrack(candidates, remain - candidates[i], result, path, i);path.removeLast();}}}
}

复杂度分析:

  • 时间复杂度: ​O(S),其中 S 是所有可能解的数目。
  • 空间复杂度: O(S * k)​(k 为组合平均长度)。主要消耗来自递归调用栈和结果列表。递归深度最大为 target / min(candidates)。
http://www.dtcms.com/wzjs/811384.html

相关文章:

  • 建设银行英文网站自己做的网站怎么样合法
  • seo中国是什么长沙 网站seo服务 网络服务
  • 违规网站开发 开发者如何规避风险网游开发培训中心
  • 网站产品怎么优化免费注册建网站
  • 养生网站模板下载农产品推广方案
  • led网站建设保亭县住房城市建设局网站
  • wordpress什么删留言合肥推广优化公司
  • 织梦移动网站wordpress博客菜单颜色怎么改
  • 房屋设计图用什么软件河源seo
  • 怎么建设英文网站用搬瓦工做储存网站
  • 商城网站建设价格最优怎么将自己房子投入网站做民宿
  • 武安 制作网站帝国cms生成网站地图
  • 建立个人网站的方法计算机网站设计怎么做
  • 桂阳网站制作网站怎么做自适应
  • 网站与手机app是一体吗郑州做网站公司排
  • 免费建立网站的网站都有啥崇明网站开发
  • cms网站开发模式宜春住房和城乡建设部网站
  • 个人网站备案内容不合格常见的网站推广方法
  • 知名的饰品行业网站开发企业手机端网站模板
  • 怎样做旅游摄影网站wordpress多站点多域名插件
  • 资金盘网站开发公司哪里好做视频怎么做
  • 网站建设开票名称怎么写东莞网络营销全网推广
  • 注册了域名之后如何建立一个网站北京外贸推广
  • iis如何添加网站单页网站排名
  • 网站做点击广告是怎么回事使用html制作网页
  • 杭州网站搭建多少钱wordpress 主题加速
  • 海盐市网站建设wordpress 当前分类
  • 买服务器做网站主机链网
  • 太原搭建网站的公司儿童教育类网站模板下载
  • 双语网站模板vps一定要Wordpress吗