leetcode-6_递归和回溯
算法总结
- 递归和回溯中的常见问题
- 1.树形问题
- 2.什么是回溯
- 3.排列问题
- 4.组合问题
- 5.回溯法解决问题的优化
- 6.二维平面上的回朔法
- 7.foodfill算法
- 8.回朔法是人工智能的基础
递归和回溯中的常见问题
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)
leetcode-6_递归和回溯相关推荐
- LeetCode算法题14:递归和回溯2
文章目录 前言 一.全排列II 仿照全排列(n 叉树) 剪枝(去掉重复的结果) 二.组合总和 一.初始解法(n 叉树): 1,采用 Set 去重 2,在递归搜索的时候去重(推荐解法) 初始解法的遍历过 ...
- Leetcode 40组合总数(回溯)Ⅱ41缺失的第一个正数42接雨水
维护公众号:bigsai ,回复进群加入打卡,回复bigsai分享一些学习资源! 上周第一次 LeetCode 36有效的数独&37解数独(八皇后问题) 上周第二次 LeetCode 38外观 ...
- 递归和回溯相关面试算法总结
文章目录 递归面试算法总结 1. LeetCode 剑指 Offer 07 : 重建二叉树 2. LeetCode 687 : 最长同值路径 3. LeetCode 面试题 08.06 : 汉诺塔问题 ...
- 【C++】【学习笔记】【递归与回溯问题详解与例题】排列问题;组合问题;二维平面回溯;flood fill问题;搜索问题(八皇后);
目录 七.递归和回溯 1.回溯 2.回溯应用 - 排列问题 2.回溯应用 - 组合问题 3.回溯应用 - 二维平面 4.回溯应用 - floodfill算法 问题 4.回溯应用 - 搜索问题 - 八皇 ...
- 「leetcode」最强回溯算法总结篇!历时21天、画了20张树形结构图、14道精选回溯题目精讲
本文 https://github.com/youngyangyang04/leetcode-master 已经收录,里面还有leetcode刷题攻略.各个类型经典题目刷题顺序.思维导图,可以fork ...
- 递归--基于回溯和递归的八皇后问题解法
八皇后问题是在8*8的棋盘上放置8枚皇后,使得棋盘中每个纵向.横向.左上至右下斜向.右上至左下斜向均只有一枚皇后.八皇后的一个可行解如图所示: ...
- Pythonic:递归、回溯等5种方法生成不重复数字整数
问题描述:从0到9这10个数字任选3个不重复的数字,能构成哪些三位数? So easy!看到这样的问题,很多人会写出类似(注意,只是类似,我为了使得本文几个函数具有相同的调用形式,给demo1和dem ...
- 20210325:力扣递归,回溯类型题目合集
力扣递归,回溯类型题目合集 题目 思路与算法 代码实现 写在最后 题目 子集 2. 90. 子集 II 3. 40. 组合总和 II 4. 22. 括号生成 思路与算法 子集:注释的很详细,递归生成子 ...
- 【算法】递归|迷宫回溯问题|八皇后问题
[算法]递归|迷宫回溯问题|八皇后问题 迷宫回溯问题,要用动态的眼光来看待这个递归算法. package com.serein.recursion;/*** @author baichuan* @ ...
最新文章
- 自学python哪本书比较好-自学Python一年,看了几十本书,我发现了这些捷径!
- Python安装、配置图文详解
- 『转载』|收藏|一张看懂AI知识体系
- unix 网络编程卷2 第43页 管道:open竟然会阻塞?
- f450四轴使用技巧
- Android系统联系人全特效实现(下),字母表快速滚动
- 扇贝有道180911每日一句
- 手机安装W ndows7镜像,Windows7专业版
- [安全]在Windows日志里发现入侵痕迹(转载)
- 新版二开cp盲盒小纸条月老小程序源码【源码好优多】
- 基于显著性检验分析两个样本分布相似度及Python实现—— t检验、拟合优度检验、KS检验、Wilcoxon符号秩检验、H检验、Mann-Whitney秩检验、P值的意义、API汇总
- 【CSS】画一个扇形
- win7 使用自带无线网卡分享无线网络
- JavaScript - 语言提高
- 一些特殊字符,由于编码问题显示不出来
- HashMap源码逐行分析
- Python学习-爬虫入门知识点整理
- 变电站机器人的控制部分
- 计算机学院宋威教授,北方工业大学计算机科学与技术研究生导师介绍:宋威
- java支持库 易语言_Java支持库|简易语言源网络|易语言资源网| e5a5x