深搜广搜
Enonlay
这个作者很懒,什么都没留下…
展开
-
深搜解决字符串和数组的全排列问题
全排列系列题目(深搜)通过两个题目:数组的全排列和字符串的全排列总结一下利用深度优先搜索解决全排列问题的一种思路和代码编写方法。力扣46:数组的全排列给定一个 没有重复 数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路定义递归函数backTra...原创 2020-04-28 19:55:39 · 269 阅读 · 0 评论 -
跳跃区间
力扣55:跳跃区间一个BFS、贪心的题,可以好好研究一下:力扣55跳跃游戏。给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。一开始就用了最普通的暴力BFS,对每个位置,可能的到达的位置都进行入队,然后依次遍历下去,如果nums[i]==0就直接出队,不进行处理。但是这个方法很明显会超时,所以在评论区看到了...原创 2020-04-20 17:22:01 · 157 阅读 · 0 评论 -
最近的零
力扣542:最近的零力扣542,一道广度优先搜索的经典题型:给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。两个相邻元素间的距离为 1 。输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1思路:这个题可以看做从每个0出发,对每个非0位置赋值,值为该位置与0的距离。如果只有一个0,可以从0的位置开始进行广度优先搜索,每搜索一个位置,...原创 2020-04-20 17:20:22 · 246 阅读 · 0 评论 -
岛屿数量
力扣200岛屿数量给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。输入:11000110000010000011输出: 3解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成。思路很清晰,通过深搜或者广搜,遍历...原创 2020-04-20 11:00:30 · 198 阅读 · 0 评论