Leetcode59螺旋矩阵2

代码:

java 复制代码
class Solution {
    public int[][] generateMatrix(int n) {
        if(n==1){
            int[][] arr = {{1}};
            return arr; 
        }
        int[][] arr = new int[n][n];
        int cnt=1;
        int left = 0,right = n-1,top=0,down=n-1;
        while(left<right){
            for(int i=left;i<right;i++){
                arr[top][i] = cnt++;
            }
            for(int j=top;j<down;j++){
                arr[j][right] = cnt++;
            }
            for(int i=right;i>left;i--){
                arr[down][i] = cnt++;
            }
            for(int j=down;j>top;j--){
                arr[j][left] = cnt++;
            }
            left++;
            right--;
            top++;
            down--;
        }
        if(cnt==n*n){
            arr[left][top] = n*n;
        }
        return arr;
    }
}
相关推荐
Hx_Ma1628 分钟前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode1 小时前
原子操作类LongAdder
java·开发语言
舟舟亢亢2 小时前
Java集合笔记总结
java·笔记
A_nanda2 小时前
c# MOdbus rto读写串口,如何不相互影响
算法·c#·多线程
小酒窝.2 小时前
【多线程】多线程打印ABC
java
乡野码圣2 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
JAVA+C语言2 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
编程彩机4 小时前
互联网大厂Java面试:从分布式架构到大数据场景解析
java·大数据·微服务·spark·kafka·分布式事务·分布式架构
代码雕刻家4 小时前
2.4.蓝桥杯-分巧克力
算法·蓝桥杯
Ulyanov4 小时前
顶层设计——单脉冲雷达仿真器的灵魂蓝图
python·算法·pyside·仿真系统·单脉冲