当前位置: 首页 > news >正文

LeetCode[59]螺旋矩阵Ⅱ

思路:

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

代码:

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;
    }
}

相关文章:

  • K8S学习之基础三十五:k8s之Prometheus部署模式
  • 【算法题解答·七】哈希
  • 安科瑞分布式光伏监测系统:推动绿色能源高效发展
  • Word 小黑第26套
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加导出数据功能
  • 痉挛性斜颈护理宝典:重拾生活平衡
  • Python数据可视化——生成数据(一)
  • LabVIEW 中的曲线拟合模型与方法概述
  • Windows Server中的NTP服务器部署(NTP Srver Deployment in Windows Server)
  • 考研专业课复习方法:如何高效记忆和理解?
  • stm32第五天按键的基础知识
  • 基于k3s部署Nginx、MySQL、PHP和Redis的详细教程
  • Useage of Generic in Java
  • 数据结构——树与二叉树
  • Java 大视界 -- Java 大数据在智能政务舆情引导与公共危机管理中的应用(138)
  • 【电源】斩波电路
  • 使用Ollama本地部署DeepSeek
  • 中国在 AI 上超越美国,需要另辟蹊径
  • LeetCode hot 100—最小栈
  • Android第三次面试总结(网络篇)
  • “75万买299元路由器”事件进展:重庆市纪委等三部门联合介入调查
  • 中拉论坛部长级会议为何悬挂海地和圣卢西亚的国旗?外交部回应
  • 食用城市|食饭识人
  • 80后莆田市文旅局长马骏登台与杨宗纬合唱,“演唱会秒变旅游推介会”
  • 消费维权周报|上周涉手机投诉较多,涉拍照模糊、屏幕漏液等
  • 10名“鬼火少年”凌晨结队在城区飙车,警方:涉非法改装,正处理