
深搜
DFS
Whisper_yl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode: 130. 被围绕的区域
给定一个二维的矩阵,包含'X'和'O'(字母 O)。找到所有被 'X' 围绕的区域,并将这些区域里所有的'O' 用 'X' 填充。示例:X X X XX O O XX X O XX O X X运行你的函数后,矩阵变为:X X X XX X X XX X X XX O X X解释:被围绕的区间不会存在于边界上,换句话说,任何边界上的'O'都不会被填充为'X'。 任何不在边界上,或不与边界上的'O'相连的'O'最终都会被填充为'X'。如果两个元素在水平...原创 2020-08-11 14:48:17 · 190 阅读 · 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 · 211 阅读 · 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 · 148 阅读 · 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 · 477 阅读 · 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 · 253 阅读 · 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 · 689 阅读 · 0 评论