59.螺旋矩阵
2023-12-25 06:43:40
我的代码
class Solution {
public int[][] generateMatrix(int n) {
int[][] ans = new int[n][n];
int offset = 0;
int start = 0;
int count = 1;
// 左闭右开
int i = 0, j = 0;// (i,j)
while (offset++ < (n / 2)) {
for (i = start, j = start; j < n - offset; j++) {
// 上
ans[i][j] = count++;
}
for (; i < n - offset; i++) {
// 右
ans[i][j] = count++;
}
for (; j >= offset; j--) {
// 下
ans[i][j] = count++;
}
for (; i >= offset; i--) {
// 左
ans[i][j] = count++;
}
start++;
}
if (n % 2 == 1) {
// 中心
ans[start][start] = count;
}
return ans;
}
}
官方解更好的地方
直接看官方代码写的
但是还是一直被卡,边界问题要注意
左闭右开
文章来源:https://blog.csdn.net/qq_44047415/article/details/135188025
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!