回溯

2022/4/13

# 77. 组合

  • 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
  • 组合不能有重复项,如:[2, 3] [3, 2] 不可以有
const n = 4, k = 2;
console.log(combine(n, k))
// 输出:
// [
//   [2,4],
//   [3,4],
//   [2,3],
//   [1,2],
//   [1,3],
//   [1,4],
// ]
复制成功
1
2
3
4
5
6
7
8
9
10
11

# 22. 括号生成

  • 生成有效的n个括号组
const n = 3
console.log(generateParenthesis(n));
// 输出:["((()))","(()())","(())()","()(())","()()()"]
复制成功
1
2
3

# 39. 组合总和

  • 给一个数组和一个和,数组元素可重复使用,求所有能达到和的解
const candidates = [2,3,6,7], target = 7;
console.log(combinationSum(candidates, target));
// 输出:[[2,2,3],[7]]
复制成功
1
2
3

# 40. 组合总和 II

  • candidates自身可能有重复数字
  • candidates 中的每个数字在每个组合中只能使用 一次 。
candidates = [10,1,2,7,6,1,5], target = 8;
console.log(combinationSum2(candidates, target));
// 输出:
// [
//     [1,1,6],
//     [1,2,5],
//     [1,7],
//     [2,6]
// ]
复制成功
1
2
3
4
5
6
7
8
9

# 79. 单词搜索

const board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED";
console.log(exist(board, word));
// 输出:true
复制成功
1
2
3

# 93. 复原 IP 地址

  • 给定一串整数字符串,制作出所有的有效ip地址
  • ip地址 每个整数位于 0 到 255 之间组成,且不能含有前导 0
const s = "25525511135"
console.log(restoreIpAddresses(s));
// 输出:["255.255.11.135","255.255.111.35"]
复制成功
1
2
3

# 38. 字符串的排列

const s = "abc"
console.log(permutation(s));
// 输出:["abc","acb","bac","bca","cab","cba"]
复制成功
1
2
3
上次更新: 6/13/2025
Powered By Valine
v1.4.16