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

中英版网站怎么做深圳宝安网站建设500元起价

中英版网站怎么做,深圳宝安网站建设500元起价,wordpress mip教程,陕西省建设厅官网查询TOC 前言 代码随想录算法训练营day25 一、Leetcode 216.组合总和III 1.题目 找出所有相加之和为 n 的 k 个数的组合#xff0c;且满足下列条件#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次#xff0c;组… TOC 前言 代码随想录算法训练营day25 一、Leetcode 216.组合总和III 1.题目 找出所有相加之和为 n 的 k 个数的组合且满足下列条件 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次组合可以以任何顺序返回。 示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 解释: 1 2 4 7 没有其他符合的组合了。 示例 2: 输入: k 3, n 9 输出: [[1,2,6], [1,3,5], [2,3,4]] 解释: 1 2 6 9 1 3 5 9 2 3 4 9 没有其他符合的组合了。 示例 3: 输入: k 4, n 1 输出: [] 解释: 不存在有效的组合。 在[1,9]范围内使用4个不同的数字我们可以得到的最小和是1234 10因为10 1没有有效的组合。 提示: 2 k 9 1 n 60 2.解题思路 方法一二进制(子集)枚举 思路与算法 「组合中只允许含有 1−91−9 的正整数并且每种组合中不存在重复的数字」意味着这个组合中最多包含 99 个数字。我们可以把原问题转化成集合 S{1,2,3,4,5,6,7,8,9}S{1,2,3,4,5,6,7,8,9}我们要找出 SS 的当中满足如下条件的子集 大小为 kk 集合中元素的和为 nn 因此我们可以用子集枚举的方法来做这道题。即原序列中有 99 个数每个数都有两种状态「被选择到子集中」和「不被选择到子集中」所以状态的总数为 2929。我们用一个 99 位二进制数 maskmask 来记录当前所有位置的状态从第到高第 ii 位为 00 表示 ii 不被选择到子集中为 11 表示 ii 被选择到子集中。当我们按顺序枚举 [0,29−1][0,29−1] 中的所有整数的时候就可以不重不漏地把每个状态枚举到对于一个状态 maskmask我们可以用位运算的方法得到对应的子集序列然后再判断是否满足上面的两个条件如果满足就记录答案。 如何通过位运算来得到 maskmask 各个位置的信息对于第 ii 个位置我们可以判断 (1 i) mask 是否为 00如果不为 00 则说明 ii 在子集当中。当然这里要注意的是一个 99 位二进制数 ii 的范围是 [0,8][0,8]而可选择的数字是 [1,9][1,9]所以我们需要做一个映射最简单的办法就是当我们知道 ii 位置不为 00 的时候将 i1i1 加入子集。 当然子集枚举也可以用递归实现。在「77. 组合的官方题解」的方法一中提及了子集枚举递归实现的基本框架感兴趣的同学可以参考。 3.代码实现 java class Solution { List temp new ArrayList(); List ans new ArrayList(); public ListListInteger combinationSum3(int k, int n) {for (int mask 0; mask (1 9); mask) {if (check(mask, k, n)) {ans.add(new ArrayListInteger(temp));}}return ans; }public boolean check(int mask, int k, int n) {temp.clear();for (int i 0; i 9; i) {if (((1 i) mask) ! 0) {temp.add(i 1);}}if (temp.size() ! k) {return false;}int sum 0;for (int num : temp) {sum num;}return sum n; } } 二、Leetcode 17.电话号码的字母组合 1.题目 给定一个仅包含数字 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 4 digits[i] 是范围 [2, 9] 的一个数字。 来源力扣(LeetCode) 链接https://leetcode.cn/problems/letter-combinations-of-a-phone-number 2.解题思路 方法一回溯 首先使用哈希表存储每个数字对应的所有可能的字母然后进行回溯操作。 回溯过程中维护一个字符串表示已有的字母排列(如果未遍历完电话号码的所有数字则已有的字母排列是不完整的)。该字符串初始为空。每次取电话号码的一位数字从哈希表中获得该数字对应的所有可能的字母并将其中的一个字母插入到已有的字母排列后面然后继续处理电话号码的后一位数字直到处理完电话号码中的所有数字即得到一个完整的字母排列。然后进行回退操作遍历其余的字母排列。 回溯算法用于寻找所有的可行解如果发现一个解不可行则会舍弃不可行的解。在这道题中由于每个数字对应的每个字母都可能进入字母组合因此不存在不可行的解直接穷举所有的解即可。 3.代码实现 java class Solution { public List letterCombinations(String digits) { List combinations new ArrayList(); if (digits.length() 0) { return combinations; } Map 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); }}; backtrack(combinations, phoneMap, digits, 0, new StringBuffer()); return combinations; } public void backtrack(ListString combinations, MapCharacter, String phoneMap, String digits, int index, StringBuffer combination) {if (index digits.length()) {combinations.add(combination.toString());} else {char digit digits.charAt(index);String letters phoneMap.get(digit);int lettersCount letters.length();for (int i 0; i lettersCount; i) {combination.append(letters.charAt(i));backtrack(combinations, phoneMap, digits, index 1, combination);combination.deleteCharAt(index);}} } }
http://wiki.neutronadmin.com/news/38314/

相关文章:

  • 青海省住房和城乡建设局网站佛山英文网站建设
  • 工信部网站登陆嘉兴企业网站开发
  • 做网站好迷茫怎样调试 wordpress
  • 云虚服务器网站建设微信公众号人工咨询电话
  • 免费网站建站百度云怎么用wordpress建电商网站
  • 用ps做网站广告图k8s部署wordpress
  • 整站建设和网站优化拍卖公司宣传册设计样本
  • 具有品牌的做pc端网站打开网站乱码怎么做
  • 网页制作与网站建设策划书案例微餐饮网站建设用途
  • 烟台H5网站设计公司莱特币做空国外网站
  • 国内网站制作欣赏网站建设公司销售技巧
  • 如何自己创建一个网址seo发外链的网站
  • 润滑油 东莞网站建设网站快速备案被退回的几种原因分析
  • 东莞seo建站排名软文推广是什么意思
  • 扬中网站建设策划朋友圈广告代理商官网
  • 南阳做网站推广建一个网页需要多少钱
  • 北京飞雨网站建设公司wordpress dokan
  • 查外链网站wordpress5.2自动保存
  • 网站开发销售单页展示网站
  • 商品网站建设实验记录公司名字大全 必过
  • 网站的百度推广怎么做嵌入式软件开发工程师工作内容
  • 手机网站页面范例企业宣传册ppt模板
  • 免费制作动画网站成化区建设局网站
  • 全平台开发网站及app博客网站开发背景
  • 山东川畅信息技术有限公司网站建设网站怎么加代码
  • 郑州市建设局官方网站wordpress php
  • 网站快照历史各学院二级网站建设通报
  • 网站报价单申请网页要多少钱
  • 重庆网站运营购物网站功能
  • 网站中 点击出现登录框怎么做网站上怎么做弹幕效果