59. 螺旋矩阵 II

题目:

给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

示例:

输入: 3
输出:
[
 [ 1, 2, 3 ],
 [ 8, 9, 4 ],
 [ 7, 6, 5 ]
]

代码:

复制代码
 1 class Solution {
 2     public int[][] generateMatrix(int n) {
 3         int[][] res=new int[n][n];
 4         int k=(n+1)/2;   //k代表循环多少圈
 5         int row,col;
 6         int count=1;   
 7         for(int i=0;i<k;++i){            
 8             row=i;
 9             col=i;
10             //上面行放入
11             while(row==i&&col<n-i){
12                 res[row][col]=count++;
13                 ++col;
14             }
15             --col;
16             ++row;
17             //右列
18             while(col==n-1-i&&row<n-i){
19                 res[row][col]=count++;
20                 ++row;
21             }
22             --row;
23             --col;
24             //下行
25             while(row==n-1-i&&col>=i){
26                 if(row==i){break;}       //判断这行是不是再前面走过了 ,因为有时候就剩最后一行或一列,所以最后一行或一列单独判断
27                 res[row][col]=count++;
28                 --col;
29             }
30             ++col;
31             --row;
32             //左列
33              while(col==i&&row>i){
34                  if(col==n-1-i){break;}  //判断这列是不是再前面走过了
35                 res[row][col]=count++;
36                 --row;
37             }
38         }
39         return res;
40     }
41 }
复制代码

 

posted @   堤苏白  阅读(82)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示