- 博客(7)
- 收藏
- 关注
原创 dfs深度搜索对数组的子集的求解-递归算法
LeetCode90题,子集题目描述 给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。 解集 **不能** 包含重复的子集。返回的解集中,子集可以按**任意顺序**排列。示例示例 1:输入:nums = [1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]示例 2:输入:nums = [0]输出:[[],[0]]方法分析:利用dfs搜索的递和归两个过程,并且要保证去重,保证用过的元素不在被重复的选取,都知
2021-03-31 15:49:59
277
原创 图像顺时针旋转90°——矩阵的旋转
LeetCode图像旋转题目描述:给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。示例 **示例1** 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[7,4,1],[8,5,2],[9,6,3]] 示例2 输入:matrix = [[5,1,9,11],[2,4,8,10],[1
2021-03-25 16:18:42
2353
原创 单调栈,堆栈管理——132模式
LeetCode456,132模式求解题目描述: 给定一个整数序列:a1, a2, ..., an,一个132模式的子序列 ai, aj, ak 被定义为:当 i < j < k 时,ai < ak < aj。设计一个算法,当给定有 n 个数字的序列时,验证这个序列中是否含有132模式的子序列。注意:n 的值小于15000。示例输入: [1, 2, 3, 4]输出: False解释: 序列中不存在132模式的子序列。示例 2:输入: [3, 1, 4, 2
2021-03-24 11:31:07
180
原创 对一维数组求局部极大值即峰值——三种方法,二分法,遍历
寻找峰值-LeetCode.162问题峰值元素是指其值大于左右相邻值的元素。给你一个输入数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞ 。示例1输入:nums = [1,2,3,1]输出:2解释:3 是峰值元素,你的函数应该返回其索引 2。示例2输入:nums = [1,2,1,3,5,6,4]输出:1 或 5解释:你的函数可以返回索引 1,其峰值元素为 2;
2021-03-23 20:52:33
6294
2
原创 矩阵置零的优化算法---简单易懂
LeetCode矩阵置零保证空间复杂度0(1)且简单易懂算法问题给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。进阶:一个直观的解决方案是使用 O(mn) 的额外空间,但这并不是一个好的解决方案。一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。你能想出一个仅使用常量空间的解决方案吗?示例1输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]输出:[[1,0,1],[0
2021-03-21 14:19:02
486
原创 LeetCode基于深度优先搜索的水域大小问题-可改进用于连通域标记
LeetCode面试题,水域大小-基于深度优先搜索题目:你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到大排序。示例:输入:[[0,2,1,0],[0,1,0,1],[1,1,0,1],[0,1,0,1]]输出: [1,2,4]思路分析:实际上该题目就是计算出输入矩阵不同的连通域中0的个数。于是就可以
2021-03-20 20:05:22
378
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人