美文网首页
代码随想录训练营Day25 | 216.组合总和III,17.电

代码随想录训练营Day25 | 216.组合总和III,17.电

作者: 是小张啊啊 | 来源:发表于2023-11-04 21:53 被阅读0次
216. 组合总和 III
  • 77. 组合题目类似
  • 收集结果满足条件需为:sum == n&& path.length == k
var combinationSum3 = function(k, n) {
    let result = []
    let path = []
    let sum = 0
    const backtracking = (sum, n, k, startIndex) => {
        if (path.length === k && sum === n) {
            result.push([...path])
            return
        }
        for (let i = startIndex; i <= 9; i++) {
            path.push(i)
            sum += i
            backtracking(sum, n, k, i+1)
            sum -= i
            path.pop()
        }
    }
    backtracking(sum, n, k, 1)
    return result
};
17. 电话号码的字母组合
  • 定义map来构造数字和字母的映射关系
  • 定义path来收集叶子节点的结果
  • 递归参数:digits,index(指遍历digits对应字符串中的第几个字符)
  • 递归结束条件:path长度等于digits长度
  • 回溯处理


    image.png
var letterCombinations = function(digits) {
    if (!digits) {
        return []
    }
    // 构造
    const map = ["","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"];
    if (digits.length === 1) {
        return map[digits].split("")
    }
    let path = ""
    let result = []
    const backtracking = (digits, index) => {
        // index: 遍历到第几个字符
        if (path.length === digits.length) {
            result.push(path)
            return
        }
        console.log(map[digits[index]])
        for (let i = 0; i < map[digits[index]].length; i++) {
            path += map[digits[index]][i]
            backtracking(digits, index+1)
            path = path.substring(0, path.length - 1)
        }
    }
    backtracking(digits, 0)
    return result
};

相关文章

  • 216. 组合总和 III

    找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字...

  • 216. 组合总和 III

    找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字...

  • 216. 组合总和 III

    典型的回溯题

  • backtracking——216. 组合总和 III

    这道题里面没有重复的元素,但是给了一个所有组合的个数,所以在判断的时候,我们不仅需要判断target还要判断个数是...

  • 递归与回溯:216.组合总和III

    /** 题目 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不...

  • 216 组合总和 III

    题目: 找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重...

  • 2019-01-26

    LeetCode 216. Combination Sum III Description Find all po...

  • 递归与排列组合

    216. Combination Sum III(https://leetcode.com/problems/co...

  • 216. Combination Sum III

    216. Combination Sum III Total Accepted: 38518Total Submi...

  • LeetCode216. 组合总和 III

    https://blog.csdn.net/Jaster_wisdom/article/details/81904572

网友评论

      本文标题:代码随想录训练营Day25 | 216.组合总和III,17.电

      本文链接:https://www.haomeiwen.com/subject/twaaidtx.html