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

外贸 礼品 网站民非企业网站建设费怎么记账

外贸 礼品 网站,民非企业网站建设费怎么记账,临安营销型网站建设,如何选择网站做站方向题目#xff1a; 给定一个仅包含数字 2-9 的字符串#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下#xff08;与电话按键相同#xff09;。注意 1 不对应任何字母。 示例 1#xff1a; 输入#xff1a;digits “23”…题目 给定一个仅包含数字 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’] 的一个数字。 思路 数字和字母如何映射 首先要解决的问题是数字和字母如何映射可以使用map或者定义一个二维数组例如string letterMap[10]来做映射这里定义一个二维数组代码如下 // 数字和字母映射 const string letterMap[10] {, // 0, // 1abc, // 2def, // 3ghi, // 4jkl, // 5mno, // 6pqrs, // 7tuv, // 8wxyz // 9 };回溯法来解决n个for循环的问题 例如输入“23”抽象为树形结构如图所示 图中可以看出遍历的深度就是输入23的长度而叶子节点就是我们要收集的结果输出[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]。 回溯三部曲 确定回溯函数参数 首先需要一个字符串path来收集叶子节点的结果然后用一个字符串数组result保存起来这两个变量我依然定义为全局。 再来看参数参数指定是有题目中给的string digits然后还要有一个参数就是int型的index。 注意这个index可不是77.组合 中等中的startIndex了。 这个index是记录遍历第几个数字了就是用来遍历digits的题目中给出数字字符串同时index也表示树的深度。 代码如下 vectorstring result; string path; void backtracking(const string digits, int index)确定终止条件 例如输入用例23两个数字那么根节点往下递归两层就可以了叶子节点就是要收集的结果集。 那么终止条件就是如果index 等于 输入的数字个数digits.size了本来index就是用来遍历digits的。 然后收集结果结束本层递归。 代码如下 if (index digits.size()) {result.push_back(s);return; }确定单层遍历逻辑 首先要取index指向的数字并找到对应的字符集手机键盘的字符集。 然后for循环来处理这个字符集代码如下 int digit digits[index] - 0; // 将index指向的数字转为int string letters letterMap[digit]; // 取数字对应的字符集 for(int i 0; i letters.size(); i){path.push_back(letters[i]); // 处理backtracking(digits, index 1); // 递归path.pop_back(); // 回溯 }注意这里for循环可不像是在回溯算法求组合问题77.组合 中等中从startIndex开始遍历的。 因为本题每一个数字代表的是不同集合也就是求不同集合之间的组合而77.组合 中等是求同一个集合中的组合 代码 class Solution { public:// 数字和字母映射const string letterMap[10] {, // 0, // 1abc, // 2def, // 3ghi, // 4jkl, // 5mno, // 6pqrs, // 7tuv, // 8wxyz // 9};vectorstring result;string path;// charMap为当前数字对应的字母字符串void backtracking(const string digits, int index){if(digits.size() 0) return;if(index digits.size()){result.push_back(path);return;}int digit digits[index] - 0; // 将index指向的数字转为intstring letters letterMap[digit]; // 取数字对应的字符集for(int i 0; i letters.size(); i){path.push_back(letters[i]); // 处理backtracking(digits, index 1); // 递归path.pop_back(); // 回溯}}vectorstring letterCombinations(string digits) {backtracking(digits, 0);return result;} };总结 时间复杂度: O(3^m * 4^n)其中 m 是对应三个字母的数字个数n 是对应四个字母的数字个数 空间复杂度: O(3^m * 4^n) 本并重点强调了和前面讲解过的77.组合 中等的区别本题是多个集合求组合所以在回溯的搜索过程中都有一些细节需要注意的。 参考 代码随想录
http://www.hkea.cn/news/14396709/

相关文章:

  • 7个湖北seo网站推广策略重庆家居网站制作公司
  • 社区网站建设平台wordpress怎么做淘客网站
  • 邯郸哪有做网站的公司佛山做网站3lue
  • 网站建设三个阶段电子行业网站
  • 手机网站你懂网站建设合同管辖地
  • 品牌设计包括哪些方面公司关键词seo
  • 建微信网站上海传媒公司总裁是谁
  • 徐州营销网站建设报价江门广告网站推广技巧
  • 个人官方网站怎么建设华为等五家公司
  • 网站建设顺德公司企业邮箱有哪些
  • 网站建设指南视频教程ppt成品网站
  • 怎么建立网站数据库北京二级建造师查询系统
  • 住房建设局网站首页足球网站模板下载
  • 四川建设部网站官网网站虚拟主机购买教程
  • 网站开发信息农村做网站赚钱
  • 制作外贸网站模板下载在线制作网址免费
  • 网站广告位代码手机开发软件app的工具
  • 建网站合同王磊网络网站建设
  • 新城镇建设官方网站英文网站 正文字体大小
  • 营销型网站费用网上有做logo的网站吗
  • 贵州省住房和建设厅网网站成都洛可可设计有限公司
  • 网站主机和空间wordpress single 主题
  • 腾讯风铃网站建设最专业的营销网站建设价格
  • 汕头网站设计哪家好北京++网站建设咨询顾问公司
  • 合肥建设网站的公司开发网站流程
  • 有什么专业做蛋糕的网站吗wordpress实例网址
  • 招聘网站简历数据分析怎么做台州网红打卡地
  • 叶涛网站推广优化wordpress 卸载plugin
  • seoxseo优化服务公司
  • c#做交易网站杭州建设局网站首页