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;
    }
}
相关推荐
XX風12 分钟前
8.1 PFH&&FPFH
图像处理·算法
NEXT0626 分钟前
前端算法:从 O(n²) 到 O(n),列表转树的极致优化
前端·数据结构·算法
Ro Jace42 分钟前
计算机专业基础教材
java·开发语言
Σίσυφος19001 小时前
PCL 法向量估计-PCA邻域点(经典 kNN 协方差)的协方差矩阵
人工智能·线性代数·矩阵
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
mango_mangojuice1 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
想进个大厂1 小时前
代码随想录day37动态规划part05
算法
sali-tec1 小时前
C# 基于OpenCv的视觉工作流-章22-Harris角点
图像处理·人工智能·opencv·算法·计算机视觉
程序员侠客行1 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.1 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存