领扣
螺旋矩阵 II
题目:给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。
示例:
输入: 3
输出:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
我自己写的解答,AC,记录笔记
class Solution {
public int[][] generateMatrix(int n) {
if (n == 0) return null;
int[][] res = new int[n][n];
int x = 0, y = 0, j = 1, num = n;
while (n > 0) {
for (int i = 0; i < n - 1; i++) {
res[x][y++] = j++;
}
for (int i = 0; i < n - 1; i++) {
res[x++][y] = j++;
}
for (int i = 0; i < n - 1; i++) {
res[x][y--] = j++;
}
for (int i = 0; i < n - 1; i++) {
res[x--][y] = j++;
}
x++;
y++;
n -= 2;
}
//注意这里,如果n为奇数的话,到最后一次最中心的元素因为for循环中条件没有满足不会去赋值,所以这里要检验一下最后一个元素赋值是否被跳过了
if (n == -1) {
res[(num-1)/2][(num-1)/2] = j;
}
return res;
}
}
路漫漫其修远兮,共勉
相关阅读
操作系统的运行环境 1、(5分)控制和状态寄存器用于控制处理器的操作,在某种特权级别下可以访问、修改。下列哪一个不是控制和状态
[RK3399][Android7.1] 移植笔记 --- 音频Codec RT5640
Platform: RK3399 OS: Android 7.1 Kernel: v4.4.83 原理图: 数据走I2S1通道 控制走I2C1通道 输出走HPOUTL/HPOUTR 改
1 sqlplus 登录 本地登录 (登录数据库服务器) Oracle 登录 sqlplus 账户名/密码 as 角色名 1.1 sys登录 例如: sqlplus sys/oracle
笔记本电脑是台式PC的微缩与延伸,也是现代社会对电脑的一种需求。与台式机相比,它们是完全便携的,而且消耗的电能和产生的噪音都比较
与神对话·1 - 尼尔·唐纳德·沃尔什前言Chapter 01Chapter 02Chapter 03Chapter 04Chapter 05Chapter 06Chapter 07Chapter 08Ch