
深搜
DFS
Whisper_yl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode: 130. 被围绕的区域
给定一个二维的矩阵,包含'X'和'O'(字母 O)。 找到所有被 'X' 围绕的区域,并将这些区域里所有的'O' 用 'X' 填充。 示例: X X X X X O O X X X O X X O X X 运行你的函数后,矩阵变为: X X X X X X X X X X X X X O X X 解释: 被围绕的区间不会存在于边界上,换句话说,任何边界上的'O'都不会被填充为'X'。 任何不在边界上,或不与边界上的'O'相连的'O'最终都会被填充为'X'。如果两个元素在水平...原创 2020-08-11 14:48:17 · 193 阅读 · 0 评论 -
LeetCode: 785. 判断二分图
给定一个无向图graph,当这个图为二分图时返回true。 如果我们能将一个图的节点集合分割成两个独立的子集A和B,并使图中的每一条边的两个节点一个来自A集合,一个来自B集合,我们就将这个图称为二分图。 graph将会以邻接表方式给出,graph[i]表示图中与节点i相连的所有节点。每个节点都是一个在0到graph.length-1之间的整数。这图中没有自环和平行边:graph[i]中不存在i,并且graph[i]中没有重复的值。 示例 1: 输入: [[1,3], [0,2], [1,3], ..原创 2020-07-16 12:29:37 · 214 阅读 · 1 评论 -
LeetCode: 47. 全排列 II
给定一个可包含重复数字的序列,返回所有不重复的全排列。 示例: 输入: [1,1,2] 输出: [ [1,1,2], [1,2,1], [2,1,1] ] 分析: 如果没有“不重复”这个条件,本题就是一个简单的DFS,没有什么好说的。但是既然加上了这个条件,那么此题就变得略微复杂了一些。 我们可以考虑一下,在没有该条件的限制下,我们会产生两次[1, 1, 2],正是因为两个1之间有一个先后顺序,才导致了重复序列的产生。因此,为了能够产生不重复的全排列,可以考...原创 2020-06-30 15:48:10 · 151 阅读 · 0 评论 -
0-1背包问题(回溯法)
#include<iostream> #include<algorithm> using namespace std; struct object{ float price; float weight; float value; object(){ price = weight = value = 0; } }; int n; object objec...原创 2019-01-15 18:00:03 · 482 阅读 · 0 评论 -
N后问题
回溯法: #include<iostream> using namespace std; int solve[100]; int count = 0, N; void PrintSolve(){ cout << count << ':'; for(int i = 0; i < N; i++) cout << ' ' <&...原创 2019-01-15 17:58:19 · 256 阅读 · 0 评论 -
graph's connected components
题目描述 Given an integers set of m integers,each integer is in the range [0, 2n-1]. A graph is build on the following constraints: if integers X and Y satisfy X&Y=0 (& is bitwise AND operation)...原创 2020-03-17 20:51:32 · 693 阅读 · 0 评论