随笔分类 -  Matrix

摘要:You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Note:You have to rotate the image in-place, which 阅读全文
posted @ 2017-09-24 22:45 apanda009 阅读(113) 评论(0) 推荐(0)
摘要:矩阵(一般是二维数组)操作的题目在面试中考察基础coding的时候比较常见,一般来说不带有太多算法思想,纯粹就是二维数组下标的操作。虽然比较简单,不过还是比较能体现基本的实现能力。LeetCode中关于矩阵操作的题目有以下几个:Spiral MatrixSpiral Matrix IIRotate 阅读全文
posted @ 2017-08-16 10:47 apanda009 阅读(491) 评论(0) 推荐(0)
摘要:这是一个矩阵操作的题目,目标很明确,就是如果矩阵如果有元素为0,就把对应的行和列上面的元素都置为0。这里最大的问题就是我们遇到0的时候不能直接把矩阵的行列在当前矩阵直接置0,否则后面还没访问到的会被当成原来是0,最后会把很多不该置0的行列都置0了。一个直接的想法是备份一个矩阵,然后在备份矩阵上判断, 阅读全文
posted @ 2017-08-16 10:44 apanda009 阅读(134) 评论(0) 推荐(0)
摘要:矩阵的题常构造新的矩阵转化为题意, 简单的记忆化存储, 常用dfs的分治策略自底向下回溯, 找一条最小的最合适的路径 递归出口(出范围, 遍历过, 满足题意(到节点) ) , 递归条件(对邻居的判断, 遍历过, 出范围, 邻居), 返回值常用分治法(后序) 尾递归,递的时候是用的上面的值, 回的时候 阅读全文
posted @ 2017-08-05 14:27 apanda009 阅读(152) 评论(0) 推荐(0)
摘要:BFS 1. matrix 邻居都是找好的, 但是此题是八邻居问题 2. visited 数组是防止邻居重叠遍历的问题和重复加入的问题, 而此题需要遍历所有的邻居 但是此题再往队列加的时候判断是否为'E', 并且将其转化为'B' 3. and all of its adjacent unreveal 阅读全文
posted @ 2017-08-05 10:22 apanda009 阅读(233) 评论(0) 推荐(0)
摘要:这题考点在于需要设置两个visited数组 dfs 与bfs不同之处在于使调用符合题意的自己, 而bfs是遍历符合条件的兄弟, 用Queue BFS 当 if(pacific[i][j] && atlantic[i][j]) 时才满足题意 阅读全文
posted @ 2017-08-04 22:33 apanda009 阅读(136) 评论(0) 推荐(0)
摘要:矩阵dfs 走回路 的问题(最后没有在回走 Corner case), 先想好算法, 再自己画图走一遍试试, 递归出口, 注意 corner case, 什么时候符合题意, 什么时候往里面加元素, 边走边看需要 什么工具, 工具: map(方向), 结果容器, visited, 辅助容器或变量 阅读全文
posted @ 2017-08-03 12:10 apanda009 阅读(581) 评论(0) 推荐(0)
摘要:矩阵的bfs, 套路一致,从外向内, 很easy 构造类, 遍历矩阵建立图 bfs要点在于如何建图, 是否建类, 建比较器, 建方向容器, 建走过的路的存储器(数组, 或者set, list) 如何遍历(堆不空?), 遍历到内部的点时判断是否符合题意(边界, 走过), 再考虑题意, 判断当前的点是否 阅读全文
posted @ 2017-07-23 21:06 apanda009 阅读(172) 评论(0) 推荐(0)
摘要:难度:87,这道题跟 Rotate Image 很相似,都是需要把矩阵分割成层来处理,每一层都是按:1. 正上方;2. 正右方;3. 正下方;4. 正左方这种顺序添加元素到结果集合。实现中要注意细节,when I traverse left or up I have to check whether 阅读全文
posted @ 2017-07-17 18:50 apanda009 阅读(108) 评论(0) 推荐(0)
摘要:Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevation map, compute the volume of water it is able to 阅读全文
posted @ 2017-07-13 22:22 apanda009 阅读(163) 评论(0) 推荐(0)
摘要:这道题给我们一个二维数组,让我们求矩阵中最长的递增路径,规定我们只能上下左右行走,不能走斜线或者是超过了边界。那么这道题的解法要用递归和DP来解,用DP的原因是为了提高效率,避免重复运算。我们需要维护一个二维动态数组dp,其中dp[i][j]表示数组中以(i,j)为起点的最长递增路径的长度,初始将d 阅读全文
posted @ 2017-07-13 11:00 apanda009 阅读(137) 评论(0) 推荐(0)
摘要:Example: 矩阵涉及到计算的问题常常根据题意, 目的找规律 阅读全文
posted @ 2017-07-11 21:26 apanda009 阅读(148) 评论(0) 推荐(0)
摘要:Given N axis-aligned rectangles where N > 0, determine if they all together form an exact cover of a rectangular region. Each rectangle is represented 阅读全文
posted @ 2017-07-11 13:10 apanda009 阅读(144) 评论(0) 推荐(0)
摘要:编解码法 复杂度 时间 O(NN) 空间 O(1) 思路 最简单的方法是再建一个矩阵保存,不过当inplace解时,如果我们直接根据每个点周围的存活数量来修改当前值,由于矩阵是顺序遍历的,这样会影响到下一个点的计算。如何在修改值的同时又保证下一个点的计算不会被影响呢?实际上我们只要将值稍作编码就行了 阅读全文
posted @ 2017-07-10 18:01 apanda009 阅读(152) 评论(0) 推荐(0)
摘要:https://leetcode.com/problems/search-a-2d-matrix/#/solutions 考点只有一个:2D array 降维成 1D array 的 index trick. 阅读全文
posted @ 2017-06-29 10:10 apanda009 阅读(166) 评论(0) 推荐(0)