leetcode-6_递归和回溯

递归和回溯中的常见问题

1.树形问题

Leetcode相关题目: 17
(1) 电话号码的字母组合。(LeetCode:17)

2.什么是回溯

Leetcode相关题目: 93、131
(1)给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。(LeetCode:93)
(2)给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。(LeetCode:131)

3.排列问题

Leetcode相关题目: 46、47
(1) 给定一个 没有重复 数字的序列,返回其所有可能的全排列。(LeetCode:46)
(2) 给定一个可包含重复数字的序列,返回所有不重复的全排列。(LeetCode:47)

4.组合问题

Leetcode相关题目: 77
(1)给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合(LeetCode:77)

5.回溯法解决问题的优化

Leetcode相关题目: 77、39、40、216、78、90、401
(1)给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。(LeetCode:77)
(2)给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。(LeetCode:39)
(3)给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。(LeetCode:40)
(4)找出所有相加之和为 n 的 k 个数的组合。组合中只允许含有 1 - 9 的正整数,并且每种组合中不存在重复的数字。(LeetCode:216)
(5)给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。(LeetCode:78)
(6)给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。(LeetCode:90)
(7)二进制手表顶部有 4 个 LED 代表 小时(0-11),底部的 6 个 LED 代表 分钟(0-59)。每个 LED 代表一个 0 或 1,最低位在右侧。(LeetCode:401)

6.二维平面上的回朔法

Leetcode相关题目:79
(1)定一个二维网格和一个单词,找出该单词是否存在于网格中。(LeetCode:79)

7.foodfill算法

Leetcode相关题目:200、130、417
(1)给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。(LeetCode:200)
(2)给定一个二维的矩阵,包含 ‘X’ 和 ‘O’(字母 O)。找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。。(LeetCode:130)
(3)给定一个二维的甲板, 请计算其中有多少艘战舰。 战舰用 'X’表示,空位用 '.'表示。 你需要遵守以下规则:
给你一个有效的甲板,仅由战舰或者空位组成。
战舰只能水平或者垂直放置。换句话说,战舰只能由 1xN (1 行, N 列)组成,或者 Nx1 (N 行, 1 列)组成,其中N可以是任意大小。
两艘战舰之间至少有一个水平或垂直的空位分隔 - 即没有相邻的战舰。(LeetCode:417)

8.回朔法是人工智能的基础

Leetcode相关题目:51、52、37
(1)n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。(LeetCode:51)
(2)n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

  • 给定一个整数 n,返回 n 皇后不同的解决方案的数量。(LeetCode:52)
    (3)编写一个程序,通过已填充的空格来解决数独问题。
    一个数独的解法需遵循如下规则:

数字 1-9 在每一行只能出现一次。
数字 1-9 在每一列只能出现一次。
数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。
空白格用 ‘.’ 表示。(LeetCode:37)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值