LeetCode矩阵题型】的更多相关文章

以三角形遍历矩阵 ; i < matrix.size(); ++i) { ; j < matrix[i].size(); ++j) swap(matrix[i][j], matrix[j][i]); } 48. Rotate Image https://leetcode.com/problems/rotate-image/description/ 54. Spiral Matrix https://leetcode.com/problems/spiral-matrix/description/…
目录 54/59螺旋矩阵 62不同路径 64最小路径和 120三角形最小路径和 695岛屿的最大面积 547朋友圈 718最长重复数组 221最大正方形 121/122/123/714/188买卖股票的最佳时机 416分割等和子集 01背包/最近等分子集 70爬楼梯 54/59螺旋矩阵 思路: 设置上下左右四个边界变量 新建ArrayList存储结果 循环:四个循环,左->右,上->下,右->左,下->上.每次循环添加结果,循环后判断边界是否相等了,是的话就退出 // 设置边界变量…
leetcode 主要是一个针对北美的coder人群找工作的代码练习网站,我在2015年初次接触这个网站的时候,总共只有200多道题目,是一个类似acm 的a题网站.这些年变化越来越大,主要是因为找工作当然是多样化的考核过程,leetcode 也逐渐与时俱进,推出了下面几个类别的联系,今天我们随便挑几个练习一下: 175. Combine Two Tables -SQL Table: Person Column Name Type PersonId int FirstName varchar L…
题目要求: 给定一个整数矩阵,找出最长递增路径的长度. 对于每个单元格,你可以往上,下,左,右四个方向移动. 你不能在对角线方向上移动或移动到边界外(即不允许环绕). 示例: 输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]. class Solution { public: int dx[5] = {-1, 0, 1, 0}; int dy[5] = {0, 1, 0, -1}; int longest…
1. 具体题目 给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素.请注意,它是排序后的第k小元素,而不是第k个元素. 示例: matrix = [ [ 1,  5,  9], [10, 11, 13], [12, 13, 15] ],k = 8, 返回 13. 2. 思路分析 二分法:初始化 low 指针为矩阵中最小元素:matrix[0][0],high 指针为矩阵中最大元素:matrix[rows-1][cols-1],之后进行二分查找,迭代时每次计算矩阵中…
1. 具体题目 给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: 输出:[ [  [1,1,1],  [1,0,1],  [1,0,1], [0,0,0],  [1,1,1]  [1,0,1]] ] 2. 思路分析 先遍历原矩阵,找出所有值为 0 的元素,记录其行列的值,分别存入对应的 HashSet 中,之后遍历两个HashSet,将记录下来的行和列分别置零. 3. 代码 public void setZeroes(i…
1. 具体题目 如果一个矩阵的每一方向由左上到右下的对角线上具有相同元素,那么这个矩阵是托普利茨矩阵.给定一个 M x N 的矩阵,当且仅当它是托普利茨矩阵时返回 True. 示例 1: 输入: matrix = [ [1,2,3,4],  [5,1,2,3],  [9,5,1,2]]输出: True解释: 在上述矩阵中, 其对角线为: "[9]", "[5, 5]", "[1, 1, 1]", "[2, 2, 2]", &q…
1. 具体题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target.该矩阵具有以下特性:每行的元素从左到右升序排列:每列的元素从上到下升序排列. 示例: 现有矩阵 matrix 如下: [  [1,   4,   7,   11,   15],  [2,  5,   8,   12,    9],  [3,  6,   9,   16,  22],  [10, 13, 14,   17,  24],  [18, 21, 23,  26,  30]]给定 tar…
1. 具体题目 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数.重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充.如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵:否则,输出原始矩阵. 示例 1: 输入: nums = [[1,2], [3,4]] r = 1, c = 4 输出:  [[1,2,3,4]] 解释: 行遍历nums的结果是 [1,2,3,4].新的矩阵是 1 * 4 矩阵, 用之前的元素值一行一行填充新矩阵…
题目描述(中等难度) 给定一个 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,0,0],[1,0,1]]…