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;
    }
}
相关推荐
老白干3 分钟前
基于 Spring AOP 的操作日志记录:以 DeptController 增删接口为例
java·python·spring
饼饼学习空间智能35 分钟前
遥操作数据能否提升机器人自主化水平?详解模仿学习、仿真放大与Sim2Real闭环
人工智能·算法
晚安code1 小时前
Java编程规范避坑指南:阿里开发手册15条强制规约实战解析
java·后端
间歇性努力持续性发呆的野生快乐选手1 小时前
dfs回溯,bfs枚举,完全背包
c++·算法·深度优先·宽度优先
小蒜学长1 小时前
“守望自然”招募志愿者环保行动网站的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
郝学胜_神的一滴1 小时前
干货版《算法导论》17:双数极值配对与卡牌手牌编码最优解
数据结构·算法
萧瑟余晖2 小时前
Java深入解析篇十八之响应式编程
java·开发语言
nike0good2 小时前
Codeforces Round 1101 (Div. 2) 题解
算法
中年阿甘2 小时前
解析式布局-二次线长布局
线性代数·算法·矩阵
xier_ran2 小时前
【infra之路】W_Q、W_K、W_V矩阵是如何训练出来的
线性代数·矩阵·transformer