LeetCode OJ 59. Spiral Matrix II
2024-10-16 12:37:22
Given an integer n, generate a square matrix filled with elements from 1 to n2 in spiral order.
For example,
Given n = 3
,
You should return the following matrix:
[
[ 1, 2, 3 ],
[ 8, 9, 4 ],
[ 7, 6, 5 ]
]
【题目分析】
与Spiral Matrix不同,这个题目要求生成一个方阵,方阵的值是螺旋递增的。
【思路】
其实这个题目与上一个大同小异,他们遍历矩阵的顺序是相同的,只要把取值变为赋值就可以了。
【java代码】
public class Solution {
public int[][] generateMatrix(int n) {
int[][] matrix = new int[n][n]; int top = 0;
int bottom = n-1;
int left = 0;
int right = n-1;
int num = 1; while(true){
for(int i = left; i <= right; i++) matrix[top][i] = num++;
top++;
if(left > right || top > bottom) break; for(int i = top; i <= bottom; i++) matrix[i][right] = num++;
right--;
if(left > right || top > bottom) break; for(int i = right; i >= left; i--) matrix[bottom][i] = num++;
bottom--;
if(left > right || top > bottom) break; for(int i = bottom; i >= top; i--) matrix[i][left] = num++;
left++;
if(left > right || top > bottom) break;
} return matrix;
}
}
最新文章
- 在Spring-Mybatis-Restful中配置多数据源的properties文件
- 使用javamail发信过程中的一些问题及解决方法
- iOS开发者必备的10款工具
- BZOJ-1699 Balanced Lineup 线段树区间最大差值
- 让多个Fragment 切换时不重新实例化、FragmentTabHost切换Fragment时避免UI重新加载
- MySQL删除重复记录只保留一条
- USACO Section 2.3: Zero Sum
- BufferedWriter和BufferedReader使用方法
- prmopt 提示框接收字符串,输入后按确定弹出警告框,警告内容为逆序的字符串
- [jQuery编程挑战]007 切换数据表格的行列
- SGU 194 Reactor Cooling ——网络流
- iOS 设置控件圆角、文字、字体
- 201521123076 《Java程序设计》 第十四周学习总结
- Linux中安装MySQL
- day059-60 ajax初识 登录认证练习 form装饰器, form和ajax上传文件 contentType
- Oracle监听已经启动了 sqlplus / as sysdba 仍然报 ERROR:ORA-12560
- html5学习笔记——基础
- 利用WCF实现上传下载文件服务
- SpingMVC的<;context:component-scan>;包扫描踩坑记录
- PostgreSQL主备切换
热门文章
- Rails 执行 rails server 报错 Could not find a JavaScript runtime
- Jquery 操作DropDownList 根据条件选中
- vue对比其他框架
- #js#简单的在线计算器
- iOS 最新App提交上架流程及部分问题的解决方案2016.12.21,感谢原博主!!!
- c#发送http请求注意
- 在.Net MVC中自定义ValidationAttribute标签对Model中的属性做验证
- 绝对路径&;相对路径
- echarts中,y轴文本倾斜
- js的变量声明以及变量提升