![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数组
文章平均质量分 78
leetcode题目--数组分类
m0_38142029
这个作者很懒,什么都没留下…
展开
-
[回溯法]77.组合(回溯+剪枝)78.子集 90.子集II (解集去重)79.单词搜索(二维平面回溯)
[回溯法 leetcode]77.组合(回溯法 + 剪枝)77.组合思路1:回溯法实现代码(剪枝前):剪枝:(难点)实现代码(剪枝后):77.组合题目链接:77.组合分类:回溯法、剪枝处理思路1:回溯法状态变量:used数组标记1~n的数字是否被使用过,depth表示递归深度,等于生成的组合大小,这里当depth==k时就说明得到一个k个数的组合。存储变量:List<List> res存放最终的解集,List list存放一个解,在depth==k时将list加入到res中。注原创 2020-10-16 13:25:19 · 135 阅读 · 0 评论 -
[二维数组] 73. 矩阵置零(HashSet记录坐标 → 第0行第0列代替Set) 289. 生命游戏(特殊值标记法)
[二维数组] 73. 矩阵置零(HashSet记录坐标 → 第0行第0列代替Set) 289. 生命游戏(特殊值标记法)73. 矩阵置零题目分析思路1:两个Set存放初始0元素的横纵坐标思路2:特殊值标记法(推荐,空间O(1),时间O(M\*N\*(M+N)))思路3:借用第0行和第0列代替两个set(推荐,空间O(1), 时间O(MN))289. 生命游戏题目分析思路:特殊值标记法73. 矩阵置零题目链接:https://leetcode-cn.com/problems/set-matrix-zero原创 2020-10-12 20:18:15 · 776 阅读 · 1 评论 -
[双指针] 283. 移动零(双指针+两次遍历 → 一次遍历)
[双指针] 283. 移动零(双指针+两次遍历 → 一次遍历)283. 移动零题目分析思路1:双指针 + 两次遍历(O(2N))思路2:双指针 + 一次遍历(O(N))283. 移动零题目链接:https://leetcode-cn.com/problems/move-zeroes/分类:双指针:两次遍历:p1寻找非零元素,p2拿p1找到的非零元素覆盖零元素(思路1);一次遍历:快排思想,零元素作为枢轴,非零元素放到左边,零元素放到右边(思路2)。题目分析题目要求:在原数组上原创 2020-10-11 14:11:06 · 214 阅读 · 0 评论 -
[二分查找 BST思想] 240. 搜索二维矩阵 II(二分查找可疑行 → 模拟二叉搜索树)
[二分查找 BST思想] 240. 搜索二维矩阵 II(二分查找可疑行 → 模拟二叉搜索树)240. 搜索二维矩阵 II思路1:寻找可疑行范围 + 对可疑行做二分查找思路2:模拟二叉搜索树(推荐)实现代码(递归实现)实现代码(迭代实现,推荐)240. 搜索二维矩阵 II题目链接:https://leetcode-cn.com/problems/search-a-2d-matrix-ii/分类:二分查找:矩阵上做二分查找、通过每一行的min,max缩小可疑行范围、对可疑行做二分查找二原创 2020-10-06 14:22:52 · 122 阅读 · 0 评论 -
[滑动窗口 二分查找] 209. 长度最小的子数组(暴力解 → 滑动窗口法 → 二分查找法)
[滑动窗口 二分查找] 209. 长度最小的子数组(暴力解 → 滑动窗口法 → 二分查找法)209. 长度最小的子数组思路1:暴力解(O(N^2))思路2:滑动窗口法(O(N),推荐)算法流程思路3:二分查找 (NlogN,思路转变)209. 长度最小的子数组题目链接:https://leetcode-cn.com/problems/minimum-size-subarray-sum/分类:数组(无序数组)滑动窗口(思路2:O(N) 寻找连续子数组)二分查找(思路3:用 无序数组nums 构原创 2020-09-22 19:50:04 · 154 阅读 · 0 评论 -
[字符串 哈希表] 205. 同构字符串(利用哈希表寻找双向映射关系)
[字符串 哈希表] 205. 同构字符串(利用哈希表寻找双向映射关系)205.同构字符串题目分析思路1:map + set + 字母种类数比较(自己想到的,推荐)算法设计实现代码思路2:map + 调换参数执行两次思路3:两个数组记录s->t,t->s(较简洁,推荐)知识点:1、char字符写在数组的下标处时会自动转换为ASCII码值。2、int数组存放char型数据时,char型数据会自动转成ASCII码存入。实现代码205.同构字符串题目链接:https://leetcode-cn.co原创 2020-09-21 00:16:00 · 245 阅读 · 0 评论 -
[DFS BFS] 200. 岛屿数量(DFS + used数组 + 空间优化)
[DFS BFS] 200. 岛屿数量(DFS + used数组 + 空间优化)200. 岛屿数量思路1:DFS + 辅助数组 -> 空间优化关键问题:如何寻找当前岛屿的所有节点?算法流程实现代码200. 岛屿数量题目链接:https://leetcode-cn.com/problems/number-of-islands/相似题目:130. 被围绕的区域分类:深度优先遍历、广度优先遍历、图、并查集(待补充)思路1:DFS + 辅助数组 -> 空间优化设置一个辅助二维数组记录每个元原创 2020-09-20 12:17:08 · 183 阅读 · 0 评论 -
[动态规划]62. 63.不同路径 I II(回溯法、动态规划 + 优化)115. 不同的子序列(双序列动态规划)120. 三角形最小路径和(滚动数组优化)
[动态规划 leetcode]62. 不同路径(回溯法、动态规划 + 优化)62. 不同路径思路1:回溯法关键问题:如何用代码表示向下移动或向右移动?实现代码思路2:动态规划(推荐)思路2的空间优化:按行处理。关键问题:1、pre和cur的更新问题:2、pre、cur数组的初始化:实现代码62. 不同路径题目链接分类:回溯法、动态规划思路1:回溯法机器人每到达一个节点都有两个选择:向下或向右。关键问题:如何用代码表示向下移动或向右移动?机器人起点(1,1),设移动过程中机器人位置=(i,j)原创 2020-11-09 13:13:02 · 326 阅读 · 0 评论 -
[二分查找 ]74. 搜索二维矩阵(二维数组上的二分查找)
[二分查找 leetcode 74]74. 搜索二维矩阵(二维数组上的二分查找)第74题.搜索二维矩阵(二分查找)思路1:先二分找到所在行,再二分查找所在列实现遇到的问题:1、特殊用例的处理(易忽略)2、代码实现需要写两个二分查找代码实现代码思路2:将二维下标转换为一维下标,相当于在一维数组上做二分查找(推荐)实现遇到的问题:特殊用例的处理(易忽略)实现代码第74题.搜索二维矩阵(二分查找)74. 搜索二维矩阵分类:二维数组、二分查找思路1:先二分找到所在行,再二分查找所在列先取矩阵每一行的第0原创 2020-10-23 14:32:21 · 461 阅读 · 0 评论