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;
    }
}
相关推荐
魔镜魔镜_谁是世界上最漂亮的小仙女2 分钟前
java-集合
java·后端·程序员
真实的菜4 分钟前
消息队列高级特性与原理:解锁分布式系统的底层逻辑
java
若水不如远方5 分钟前
java范型
java
凌辰揽月8 分钟前
Web后端基础(基础知识)
java·开发语言·前端·数据库·学习·算法
lifallen13 分钟前
深入浅出 Arrays.sort(DualPivotQuicksort):如何结合快排、归并、堆排序和插入排序
java·开发语言·数据结构·算法·排序算法
jingfeng51414 分钟前
数据结构排序
数据结构·算法·排序算法
长安不见15 分钟前
背景知识: 理解LimitLatch背后的AQS
java
小吕学编程18 分钟前
策略模式实战:Spring中动态选择商品处理策略的实现
java·开发语言·设计模式
weixin_4383354024 分钟前
Spring Boot实现接口时间戳鉴权
java·spring boot·后端
能工智人小辰40 分钟前
Codeforces Round 509 (Div. 2) C. Coffee Break
c语言·c++·算法