59.螺旋矩阵II 题目链接:59.螺旋矩阵II 题目描述:给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] 思考 螺旋矩阵没有暴力破解,只能通过四个for循环重复实现对不同数字的输入.螺旋矩阵的重要点在于判断最后一个列的数字个数和奇数大小矩阵时的中间位置的数字. 整个矩阵的实现是由两组循环实现的,最外层是while循环,用来控制一周的整…
59. 螺旋矩阵 II 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] class Solution { public int[][] generateMatrix(int n) { int[][] arr = new int[n][n]; int c = 1, j = 0; while (c <= n * n) { for (int…
59.螺旋矩阵II 知识点:数组: 题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 输入:n = 1 输出:[[1]] 解法一: 和54题解法基本一致,利用四个边界条件进行遍历: class Solution { public int[][] generateMatrix(int n) { int[][] ans = ne…
54. 螺旋矩阵 问题描述 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素. 示例 1: 输入: [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ] 输出: [1,2,3,6,9,8,7,4,5] 示例 2: 输入: [ [1, 2, 3, 4], [5, 6, 7, 8], [9,10,11,12] ] 输出: [1,2,3,4,8,12,11,10,9,5,6,7] 问题分析 这道题也是从最外层往最内层循…
题目描述 给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 解题思路 和LeetCode54.螺旋矩阵 的思想差不多,定义左上角的行索引,然后依次从左至右.从上至下.从右至左.从下至上遍历,注意起始索引和终止索引. 代码 class Solution { public: vector<vector<int>> genera…
题目 给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 思路 与螺旋矩阵题完全一致 实现 class Solution: def generateMatrix(self, n: int) -> List[List[int]]: result = [[0 for _ in range(n)]for _ in range(n)] idx = 1 left, right, top, bottom = 0, n - 1, 0, n - 1 while…
2022/09/22 第二天 第一题 这题我就直接平方后排序了,很无脑但很快乐啊(官方题解是双指针 第二题 滑动窗口的问题,本来我也是直接暴力求解发现在leetCode上超时,看了官方题解,也是第一次了解滑动窗口. 第三题 螺旋矩阵是我用暴力没有解出来的题,我总数在找每行每列的规律,谁知道是转着圈存,好在我觉得这种题只能诓骗我一次 数组专题总结 我觉得数组还行,没有遇到太难的题目,导致我都有点飘了,下章节链表真的是教会我做人…
题目描述 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 解题思路 没有具体的算法,考察的是模拟实现过程 一圈一圈的循环赋值(当n是奇数的时候,会少一圈,但是中间会有一个空值) 坚持循环不变量原则,循环条件:左闭右开(对应的循环条件总是<或者>,没有=) 代码实现 class Solution { public: vector&l…
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] Solution: 蛇形环绕,为了减少判断或者循环的代码,我们需要环绕一圈不变的变量作为参照量. 于是!我们设置一个变量i,这个i的意思表示第i外层. 一圈的填数如下: 从左到右,从i行i列->i行n-i-1列 从上到下,从i+1行n-i-1列->n-i-1行n-i-1列 从右到左,从…
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] class Solution { public int[][] generateMatrix(int n) { int[][] a = new int[n][n]; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ a[i][j]=0; } } i…