LeetCode[59]螺旋矩阵Ⅱ

思路:

这种题我第一次确实没做出来,第一次做的时候一圈一圈处理,发现圈数越往里,越乱,原来之前是没从圈数开始遍历。**思路:**第一个大循环先遍历圈数,一共遍历n/2圈,如果是奇数那就最后处理中间那个小点就行,然后是在每一圈有四条边,我们对每一条边进行处理,每条边采用左闭右开的区间,每条边的最后一个点交给下一条边来进行处理,这样代码就不会乱了

代码:

java 复制代码
class Solution {
    public int[][] generateMatrix(int n) {
        int[][] nums = new int[n][n];
        int startX = 0;
        int startY = 0;
        int offset = 1;
        int loop = 1;
        int count = 1;
        int i, j;
        while (loop <= n / 2) {
            for (j = startY; j < n - offset; j++) {
                nums[startX][j] = count++;
            }
            for (i = startX; i < n - offset; i++) {
                nums[i][j] = count++;
            }
            for (; j > startY; j--) {
                nums[i][j] = count++;

            }
            for (; i > startX; i--) {
                nums[i][j] = count++;
            }
            startX++;
            startY++;
            offset++;
            loop++;
        }
        if (n % 2 != 0) {
            nums[startX][startY] = count;
        }
        return nums;
    }
}
相关推荐
遥感知识服务14 小时前
从局部阈值、双极化到暗地表剔除:NASA OPERA DSWx-S1全球动态水体算法拆解
大数据·人工智能·深度学习·神经网络·算法·机器学习
晚风醉蝶14 小时前
1-13-TimSort
算法
ZJU_统一阿萨姆14 小时前
【算子开发】算子融合与Softmax_LayerNorm实现
人工智能·算法·语言模型·硬件架构
叩码以求索16 小时前
浅谈:前序遍历反转法求解N叉树的后序遍历
算法
北风toto17 小时前
中缀、前缀、后缀表达式
算法·软件设计师
听取WA声一片(无恶意)17 小时前
CSP-J/CSP-S 深度优先搜索(DFS)完全讲义
c++·算法·深度优先
码流怪侠18 小时前
2026年8月GitHub热榜深度拆解:Agent Skills席卷开源圈,一个“技能包“收割5万星
算法·程序员·github
hold?fish:palm18 小时前
30 两两交换链表中的节点
数据结构·算法·链表
Nil20818 小时前
leetcode 98验证二叉搜索树
算法·leetcode·职场和发展
不正经学生18 小时前
C语言结构体:自定义数据类型,让变量打包出行
java·c语言·开发语言·数据结构·算法