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

什么网站做新产品代理龙岗网站建设设计服务

什么网站做新产品代理,龙岗网站建设设计服务,wordpress做排行榜单,怎么介绍自己做的电影网站216.组合总和III 题目链接#xff1a;组合总和III 题目描述#xff1a;找出所有相加之和为 n **的 k ****个数的组合#xff0c;且满足下列条件#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次#xff0c… 216.组合总和III 题目链接组合总和III 题目描述找出所有相加之和为 n **的 k ****个数的组合且满足下列条件 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次组合可以以任何顺序返回。 解题思想 本题就是在[1,2,3,4,5,6,7,8,9]这个集合中找到和为n的k个数的组合。 本题k相当于树的深度9因为整个集合就是9个数就是树的宽度。 例如 k 2n 4的话就是在集合[1,2,3,4,5,6,7,8,9]中求 k个数 2, n和 4的组合。 选取过程如图 class Solution { public:vectorvectorint combinationSum3(int k, int n) {int sum 0;backtracking(k, n, sum, 1);return result;}private:vectorvectorint result;vectorint path;void backtracking(int k, int n, int sum, int startIndex) {if (path.size() k) {if (sum n)result.push_back(path);return;}for (int i startIndex; i 9; i) {path.push_back(i);sum i;backtracking(k, n, sum, i 1);path.pop_back();sum - i;}} };剪枝优化 已选元素总和如果已经大于n了那么往后遍历就没有意义了直接剪掉。for循环的范围也可以剪枝i 9 - (k - path.size()) 1就可以了。k-path.size()为还需要的元素个数后面的元素个数不足了。 class Solution { public:vectorvectorint combinationSum3(int k, int n) {int sum 0;backtracking(k, n, sum, 1);return result;}private:vectorvectorint result;vectorint path;void backtracking(int k, int n, int sum, int startIndex) {if (sum n)return;if (path.size() k) {if (sum n)result.push_back(path);return;}for (int i startIndex; i 9 - (k - path.size()) 1; i) {path.push_back(i);sum i;backtracking(k, n, sum, i 1);path.pop_back();sum - i;}} };17.电话号码的字母组合 题目链接电话号码的字母组合 题目描述给定一个仅包含数字 2-9 的字符串返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下与电话按键相同。注意 1 不对应任何字母。 !https://assets.leetcode-cn.com/aliyun-lc-upload/uploads/2021/11/09/200px-telephone-keypad2svg.png 解题思想 理解本题后要解决如下三个问题 数字和字母如何映射 可以使用map或者定义一个二维数组例如string letterMap[10] 两个字母就两个for循环三个字符我就三个for循环以此类推然后发现代码根本写不出来 例如输入“23”抽象为树形结构如图所示 图中可以看出遍历的深度就是输入23的长度而叶子节点就是我们要收集的结果输出[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]。 输入1 * #按键等等异常情况 class Solution { public:vectorstring letterCombinations(string digits) {if (!digits.empty())backtracking(digits, 0);return result;}private:string path;vectorstring result;void backtracking(const string digits, int index) {if (index digits.size()) {result.push_back(path);return;}string letter letterMap[digits[index] - 0];for (int i 0; i letter.size(); i) {path.push_back(letter[i]);backtracking(digits, index 1);path.pop_back();}}const string letterMap[10] {, // 0, // 1abc, // 2def, // 3ghi, // 4jkl, // 5mno, // 6pqrs, // 7tuv, // 8wxyz, // 9}; };时间复杂度: O(3^m * 4^n)其中 m 是对应四个字母的数字个数n 是对应三个字母的数字个数空间复杂度: O(3^m * 4^n)
http://www.zqtcl.cn/news/379641/

相关文章:

  • 网站开发 平台WordPress首页可见
  • 沧州做网站费用打开上海发布
  • 重庆潼南网站建设公司电话网站能调用一些字体
  • 摄影网站设计素材做彩票网站电话多少
  • 开网站公司企业管理网课
  • 相城高端网站建设施工建设集团网站
  • .电子商务网站的开发原则包括网络服务示范区创建情况
  • 网站如何做权重php做网站登陆验证
  • 昆山制造网站的地方网站建设 有聊天工具的吗
  • 自己做网站制作需要多少钱如何免费注册网站域名
  • 如何做网站美化怎样写网站文案
  • 做网站排名的wordpress 调整 行距
  • 三亚文明城市建设服务中心报名网站房地产活动策划网站
  • 休闲食品网站建设规划书常德做网站专业公司
  • 做美工好的网站网页设计排版布局
  • 网站建设公司合同模板下载wordpress微信公众平台开发教程
  • 快速wordpress 建网站免费代理游戏
  • 网站模板 寻模板大气宽屏网站模板企业源码带后台
  • 做图片推广的网站威海高端网站建设
  • 台州网站公司建站网站首页模板图片
  • 网站建设本科毕业设计论文网址
  • 泰州企业建站程序乐清网站建设公司
  • 微信小程序网站建设哪家好郑州建设网
  • 网站流量查询站长之家自己创业做原公司一样的网站
  • 哪有专做飞织鞋面的网站广州企业网站制作哪家好
  • 如何用域名做邮箱 网站站长工具5g
  • 威海 医院网站建设宝安专业网站设计公司
  • 营销企业网站建设步骤建筑 企业官网设计
  • 网站建设的内容网站怎么做视频的软件
  • 大型网站多少钱企业咨询管理是干嘛的