Java | Leetcode Java题解之第59题螺旋矩阵II

题目:

题解:

java 复制代码
class Solution {
    public int[][] generateMatrix(int n) {
        int num = 1;
        int[][] matrix = new int[n][n];
        int left = 0, right = n - 1, top = 0, bottom = n - 1;
        while (left <= right && top <= bottom) {
            for (int column = left; column <= right; column++) {
                matrix[top][column] = num;
                num++;
            }
            for (int row = top + 1; row <= bottom; row++) {
                matrix[row][right] = num;
                num++;
            }
            if (left < right && top < bottom) {
                for (int column = right - 1; column > left; column--) {
                    matrix[bottom][column] = num;
                    num++;
                }
                for (int row = bottom; row > top; row--) {
                    matrix[row][left] = num;
                    num++;
                }
            }
            left++;
            right--;
            top++;
            bottom--;
        }
        return matrix;
    }
}
相关推荐
崎岖Qiu3 分钟前
leetcode380:RandomizedSet - O(1)时间插入删除和获取随机元素(数组+哈希表的巧妙结合)
java·数据结构·算法·leetcode·力扣·散列表
快乐肚皮4 分钟前
Redis消息队列演进史
java·redis
AppleWebCoder5 分钟前
Java大厂面试实录:AIGC与虚拟互动场景下的微服务与AI落地(附知识详解)
java·spring boot·微服务·ai·消息队列·aigc·虚拟互动
ybq195133454318 分钟前
javaEE-Spring IOC&DI
java·spring·java-ee
渣哥37 分钟前
shutdown 和 shutdownNow 有啥不一样?一文看懂 Java 线程池关闭方式
java
好易学·数据结构38 分钟前
可视化图解算法60: 矩阵最长递增路径
数据结构·算法·leetcode·力扣·递归·回溯算法·牛客
李少兄1 小时前
@DateTimeFormat.fallbackPatterns 详解
java
天天摸鱼的java工程师1 小时前
线上服务无辜假死状态:一次 GC Overhead 的深度排查
java·后端
程序员清风1 小时前
快手二面:Redisson公平锁用用过吗?他的实现原理是什么样子的?
java·后端·面试