算法训练营——day4螺旋矩阵

news2024/9/23 21:29:07

1 螺旋矩阵II-力扣59(中等)

1.1 题目:螺旋矩阵II

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。

示例 1:

输入:n = 3
输出:[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:[[1]]

提示:

  • 1 <= n <= 20

1.2 编程模拟思路解法

首先避免起始末尾节点被重复访问,所以我们采取左开右闭 [ i , j ) 区间来进行模拟,注解中以第一圈为例,后面循环中圈内节点数减少,但是核心思路不变。

class Solution {
    public int[][] generateMatrix(int n) {
        int[][] ret = new int[n][n];// 二维数组存储
        int startx = 0, starty = 0;// 定义起始行和列开始位置
        int loop = 1;
        int count = 1;// 填入的数字
        int offset = 1;

        // 采用左闭右开区间[i,j)
        while (loop <= n / 2) {
            int i = startx;
            int j = starty;
            // 给第一圈的第一行赋值
            for (; j < n - offset; j++) {
                ret[i][j] = count++;
            }
            // 第一圈的最后一列赋值
            for (; i < n - offset; i++) {
                ret[i][j] = count++;
            }
            // 第一圈的最后一行赋值
            for (; j > starty; j--) {
                ret[i][j] = count++;
            }
            // 第一圈第一列赋值
            for (; i > startx; i--) {
                ret[i][j] = count++;
            }
            startx++;
            starty++;
            offset++;
            loop++;
        }
        if (n % 2 == 1) {
            ret[startx][starty] = count;
        }
        return ret;

    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2110761.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微深节能 平板小车运动监测与控制系统 格雷母线

微深节能的平板小车运动监测与控制系统中的格雷母线&#xff0c;是一种高精度、非接触式的位移测量系统&#xff0c;它在平板小车的运动监测与控制中发挥着核心作用。 一、系统概述 微深节能的平板小车运动监测与控制系统通过集成格雷母线定位系统&#xff0c;实现了对平板小车…

民营火箭公司「星际荣耀」宣布完成7亿元人民币C轮及C+轮融资

近日&#xff0c;北京星际荣耀空间科技股份有限公司&#xff08;以下简称“星际荣耀”&#xff09;完成 7 亿元人民币 C 轮及 C 轮融资&#xff0c;分别由新鼎资本和四川产业振兴基金投资集团有限公司领投&#xff08;以下简称“四川产业基金”&#xff09;&#xff0c;京铭资本…

项目管理:在职场,一定要谨记这5句话

项目管理中&#xff0c;高效、有序地推进项目是每个项目经理追求的目标。为了达成这一目标&#xff0c;这五句话值得我们深深铭记&#xff1a; 一、明确目标&#xff0c;方向引领行动 明确的目标是成功的第一步&#xff0c;在项目管理中&#xff0c;这句话尤为重要。 一个清…

揭秘中国企业GPU采购背后的技术驱动力:中国移动引领国内算力市场发展

引言 随着人工智能&#xff08;AI&#xff09;和大数据的快速发展&#xff0c;GPU&#xff08;图形处理单元&#xff09;成为了全球高性能计算市场的核心技术之一。在这一背景下&#xff0c;英伟达的显卡以其强大的计算能力在全球市场中备受青睐&#xff0c;尤其是在数据中心和…

python画图|并列直方图绘制

前述学习过程中&#xff0c;已经知晓普通直方图绘制和堆叠直方图绘制&#xff0c;参考链接如下&#xff1a; 西猫雷婶-CSDN博客 有时候&#xff0c;我们还会遇到并列直方图绘制的需求&#xff0c;今天就探索一下。 【1】官网教程 按照惯例&#xff0c;我们先来到官网&#…

vue3有了解过吗?和vue2的区别

vue3介绍 &#x1f355;&#x1f355;&#x1f355;关于vue3的重构背景&#xff0c;作者是这样说的&#xff1a; 「Vue 新版本的理念成型于 2018 年末&#xff0c;当时 Vue 2 的代码库已经有两岁半了。比起通用软件的生命周期来这好像也没那么久&#xff0c;但在这段时期&…

资源第一篇 =》bundle包

简介 bundle包主要用于游戏资源的模块化功能&#xff0c;以便更好的管理游戏资源、优化游戏资源的加载、优化游戏包体的大小&#xff0c;提高游戏体验。我们可以根据实际的场景&#xff0c;把游戏资源进行合理的分包。 bundle类型 cocos包分为内置bundle和自定义bundle。 内…

七、装饰器模式

装饰器模式&#xff08;Decorator Pattern&#xff09;是一种结构型设计模式&#xff0c;允许在不改变对象自身的情况下&#xff0c;动态地向对象添加新功能。它通过将功能附加到对象的方式来增强其行为&#xff0c;提供了一种灵活的替代方案来使用子类扩展功能。 主要组成部分…

python 检测端口是否开放

python的socket库可以检测端口是否开放。 import socket; sock socket.socket(socket.AF_INET, socket.SOCK_STREAM) result sock.connect_ex((127.0.0.1,80)) if result 0:print "Port is open" else:print "Port is not open" 这里sock.connect_ex()方…

机器人领域顶刊TRO最受欢迎的TOP 50文章盘点

介绍 众所周知&#xff0c;TRO是机器人领域的绝对顶刊&#xff0c;每一篇文章都是质量极高的。最近在看TRO官网的时候&#xff0c;发现官网给出了在TRO发布文章中最收欢迎的TOP 50 paper list。下面来看看都有哪些文章&#xff1f;是不是和您想的一样&#xff1f;下面文章的顺…

Ollama—87.4k star 的开源大模型服务框架!!

这一年来&#xff0c;AI 发展的越来越快&#xff0c;大模型使用的门槛也越来越低&#xff0c;每个人都可以在自己的本地运行大模型。今天再给大家介绍一个最厉害的开源大模型服务框架——ollama。 项目介绍 Ollama 是一个开源的大语言模型&#xff08;LLM&#xff09;服务工具…

【redis】认识redis和分布式系统

文章目录 认识 redisredis 的主要功能实现数据库实现缓存实现消息中间件 分布式系统单机架构为什么数据多了主机就难以应对 &#xff1f;分布式系统 认识 redis redis 的主要功能 用来在内存中存储数据 定义变量不就是在内存中存储数据吗&#xff1f;为什么还需要 redis 来向…

如何看待AI技术对人们生活的影响?

人工智能&#xff08;AI&#xff09;技术对人们生活的影响是多方面的&#xff0c;既有积极的一面&#xff0c;也存在一些需要关注的问题。以下是对AI技术在生活中影响的综合看法&#xff1a; 积极影响&#xff1a; 提高效率&#xff1a;AI技术在各行各业中的应用大大提高了工作…

14,子查询语句嵌套

1.1 查询研发部门的所有员工信息 #步骤1: 查询研发部门的 did SELECT did FROM t_department WHERE dname 研发部; #步骤2: 嵌套子查询,查询员工信息 SELECT * FROM t_employee WHERE did (SELECT did FROM t_department WHERE dname 研发部); 1.1 查询和白露性别和部门相…

Splashtop 在 Gartner Peer Insights™ 远程桌面软件客户之声评选中荣获“卓越表现者”称号

2024年9月4日 加利福尼亚州库比蒂诺 远程解决方案提供商 Splashtop 今天宣布&#xff0c;在最新发布的《2024年 Gartner Peer Insights™ 远程桌面软件客户之声》报告中&#xff0c;Splashtop 荣获“卓越表现者”称号。进入“卓越表现者”象限&#xff0c;意味着 Splashtop 的…

基于 Python 的 LIF 模型:探索神经元同步与小世界网络

在神经科学中&#xff0c;理解神经元之间的同步行为对解释大脑的功能非常重要。而泄漏积分发放&#xff08;Leaky Integrate-and-Fire, LIF&#xff09;模型作为一种经典的神经元模型&#xff0c;广泛应用于模拟神经元的膜电位变化以及脉冲发放。本篇博客将带你通过Python代码&…

大眼橙X7D Ultra和当贝D6X Pro选哪个好?三千价位,谁的性价比更高

在投影仪市场的激烈竞争中&#xff0c;3000多价位一款新产品问世&#xff0c;大眼橙X7D Ultra作为新款备受瞩目&#xff0c;与其对应的同价位佼佼者当贝D6X Pro都各自以其独特的优势吸引着消费者的目光。今天就来说说这款新品大眼橙X7D Ultra对比当贝D6X Pro有哪些不同之处&…

iOS 18beta/正式版升级办法分享

随着科技的飞速发展&#xff0c;苹果公司每一次的iOS系统更新都为我们带来了前所未有的便捷与惊喜。如今&#xff0c;iOS 18的发布再次激起了广大iPhone用户的升级热情。为了让大家能够顺利、高效地升级到这一全新系统&#xff0c;今天我将为大家分享几种实用的升级iOS 18的方法…

展会回顾 | SunTorque智能扭矩系统亮相GAF2024展览会,收获满满

9月&#xff0c;一个收获的季节&#xff0c; GAF 2024全球紧固—连接—装配技术大会暨展览会就在这样一个美好的季节中&#xff0c;在苏州花桥国际博览中心完美落幕。这场汇聚了全球顶尖技术与创新理念的盛会&#xff0c;不仅吸引了来自全国各地的制造商、科技巨头及行业精英&a…

电脑桌面整理怎么弄?分享8款桌面整理软件,轻松拿捏桌面美化!

电脑桌面是我们日常工作和学习中最常接触到的地方&#xff0c;但随着时间的推移&#xff0c;桌面上往往会堆积越来越多的文件和图标。这不仅让桌面看起来杂乱无章&#xff0c;也使得寻找特定文件变得困难&#xff0c;从而影响了工作和学习的效率。那么&#xff0c;如何有效整理…