【leetcode中】螺旋矩阵2

news2024/9/24 1:18:10

1.题目描述

. - 力扣(LeetCode)

给你一个正整数 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

2.解题思路

 步骤, 

1. 声明loop, 表示要转几圈 loop<n/2

2.申明offset,每次划线的边界,n,n-1,n-2,n-3.... , offset每次画完一圈自增1

2. 转一圈需要四条线, 定义好边界

从左到右边: i=startx, j=[starty, n-offset)

从右上到右下:i=[startx, n-offset), j=n-offset

从右下到左下:i -> (startx, n-offset] , j=n-offset, i为降序

从左到左上:i -> startx , j=(staty, n-offset], j为降序

3.代码

import java.util.Scanner;


class Solution {
    public int[][] generateMatrix(int n) {
        int[][] result = new int[n][n];
         for(int i=0;i<n;i++){
            result[i] = new int[n];
         }
       
          int loop = n/2, startx = 0, starty = 0, offset = 1, count = 1;
          
           while((loop--) >=1 ){
            int i = startx, j = starty;
             for(;j<n-offset;j++){
                result[i][j] = count++;
            }
            for(;i<n-offset;i++){
                result[i][j] = count++;
            }
           
           for(;j>starty;j--){
                result[i][j] = count++; 
            }

            for(;i>startx;i--){
                result[i][j] = count++; 
            }
            

            startx = startx+1;
            starty = starty+1;
            offset = offset +1;
          }

          if(n%2 == 1){
            result[n/2][n/2] = count;
          }
          return result;
       }

   
}

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

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

相关文章

Java_微服务

首先介绍一下单体架构与微服务架构&#xff1a; 单体架构&#xff1a; 微服务&#xff1a; SpringCloud&#xff1a; 版本&#xff1a; 标黑部分为目前企业使用最多的版本&#xff0c;因为它支持jdk8、jdk11&#xff0c;下面使用SpringCloud也会使用这个版本。 服务拆分&…

springboot校园商店配送系统-计算机毕业设计源码68448

摘要 本文详细阐述了基于Spring Boot框架的校园商店配送系统的设计与实现过程。该系统针对校园内的用户需求&#xff0c;整合了用户注册与登录、商品浏览与购买、订单管理、配送追踪、用户反馈收集以及后台管理等功能&#xff0c;为校园内的普通用户、商家、配送员和管理员提供…

今年考研报名时间确定了!(内涵西电考研报名流程)

虽然初试时间还没有得到正式官宣&#xff0c;但是再过1个多月&#xff0c;考研人们最近的一件大事——预报名就要来啦&#xff01; ⏰预报名时间 9月24日至9月27日&#xff0c;每天9:00—22:00&#xff1b; ⏰正式报名时间 10月8日至10月25日&#xff0c;每天9:00—22:00。 …

数据开发/数仓工程师上手指南(五)CDM-DIM层搭建规范及流程

前言 在上篇文章的进度和基础之上&#xff0c;我们已经算是构建好了ODS数据引入层&#xff0c;ODS这一层构建的比较简单&#xff0c;没有很多限制规范&#xff0c;但是CDM数据公共层可以算得上是数据仓库的主题&#xff0c;之前我们也将DWD数据明细层、DIM数据维度层和DWS公共…

【C++标准库】模拟实现string类(深浅拷贝问题)

模拟实现string类 一.命名空间与类成员变量二.构造函数1.无参&#xff08;默认&#xff09;构造2.有参构造3.兼容无参和有参构造4.拷贝构造1.传统写法2.现代写法 三.析构函数四.string类对象的容量操作1.size2.capacity3.clear4.empty5.reserve6.resize 五.string类对象的访问及…

Redis学习[4] ——Redis集群

五、Redis 集群 5.1 什么是Redis集群&#xff1f; 如何提供一个高可用的Redis服务&#xff1f; —— 构建Redis集群 单服务器Redis由于数据都是存储在一台服务器&#xff0c;如果这台服务器出现宕机或者故障&#xff0c;可能会导致服务不可用甚至数据丢失。 要避免这种单点…

C#使用NPOI进行Excel和Word文件处理(一)

文章目录 前言文件大小性能NPOI 的优势示例代码性能优化建议总结Github 地址链接导出效果 前言 NPOI 是一个非常流行的用于在 .NET 环境中操作 Office 文件&#xff08;包括 Excel 文件&#xff09;的开源库。它的功能非常强大&#xff0c;但性能和文件大小问题可能因具体的使…

“八股文”面试题:是招聘程序员的金科玉律?

引言 随着互联网的发展&#xff0c;现代企业对程序员的需求日益增加。在招聘过程中&#xff0c;许多公司采用了“八股文”式的面试题目来筛选候选人。这些题目往往涵盖了算法、数据结构、系统设计等方面的基础知识。然而&#xff0c;对于“八股文”在实际工作中的作用&#xf…

安泰高压放大器在材料极化中的应用有哪些

高压放大器在材料极化中具有重要的应用&#xff0c;这方面是通过在材料中施加高电压来实现的。下面我们将探讨高压放大器在材料极化领域的具体应用&#xff0c;以及其在材料科学和工程中的重要性。 首先&#xff0c;让我们了解一下材料极化的基本概念。材料的极化是指在外加电场…

气象水文耦合模式WRF-Hydro安装、数据制备、代码编译、离线在线运行

目录 专题一 WRF-Hydro模型功能及运行流程、依赖库准备 专题二 WRF-Hydro模式编译、离线运行及案例实践 专题三 结合多案例进行模式数据制备及实践应用 专题四 WRF-Hydro模式耦合编译及运行、总结 更多应用 WRF-Hydro模型是一个分布式水文模型&#xff0c;‌它基于WRF‌陆…

视角 | 麻省理工学院提出出温度计校准法,专治AI大模型过度自信

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

使用Python自动将照片文件夹转换为PowerPoint幻灯片

在这个数字时代,我们经常需要快速创建照片幻灯片来展示我们的回忆或工作成果。今天,我们将探讨如何使用Python来自动化这个过程,将一个文件夹中的所有照片转换为一个精美的PowerPoint演示文稿,每张照片占据一页,并以文件名作为标题。 C:\pythoncode\new\jpeginsertppt.py 全部…

【Python 逆向滑块】(实战二)逆向滑块,并实现用Python+Node.js 生成滑块、识别滑块、验证滑块、发送短信

逆向日期&#xff1a;2024.07.31 使用工具&#xff1a;Node.js、油猴 本章知识&#xff1a;逆向网易易盾【fp】参数 文章难度&#xff1a;中等&#xff08;没耐心的请离开&#xff09; 文章全程已做去敏处理&#xff01;&#xff01;&#xff01; 【需要做的可联系我】 AES解…

配电盘emc测试技术咨询

申请配电盘 EMC 测试技术咨询的费用因机构、测试项目和服务内容的不同而有所差异。一般来说&#xff0c;测试机构会根据测试项目的复杂程度、测试时间和场地等因素来确定费用。 影响配电盘 EMC 测试技术咨询办理费用的因素有很多&#xff0c;其中主要的因素有&#xff1a; 1、检…

windows 环境测试使用 Visual Studio 2022 MSVC 自带的 cl + nmake 版本的 Makefile 编译代码

前言&#xff1a; windows 环境的 cl 和 nmake 就相当于 Linux 环境的 gcc、g 和 make&#xff1b;linux 中可以在 Makefile 中写 gcc、g 语句&#xff0c;然后执行 make&#xff1b;同样的&#xff0c;在 windows中也可以新建 Makefile 文件&#xff0c;在里面写 cl 语句&…

基于springboot+vue+uniapp的养老院管理系统小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…

45.二维数组练习:计算季度营业额和年总营业额

/* 某商场每个季度营业额如下,单位&#xff1a;万元 第一季度&#xff1a;22&#xff0c;66&#xff0c;44 第二季度&#xff1a;77&#xff0c;33&#xff0c;88 第三季度&#xff1a;25&#xff0c;45&#xff0c;65 第四季度&#xff1a;11&#xff0c;66&#xff0c;99 要求…

贵州桐梓影像大赛启动 百名摄影师齐聚桐梓采风创作

夏季的桐梓&#xff0c;山水秀美&#xff0c;天空湛蓝。近日&#xff0c;贵州桐梓首届旅游影像大赛启动&#xff0c;来自全省各地的100余名摄影师共聚一堂&#xff0c;开展一场别具一格的采风创作活动。他们带着镜头&#xff0c;追寻着光影的脚步&#xff0c;捕捉桐梓的自然风光…

使用WebSocket实现log日志流的实时展示-从轮询到通知

场景介绍 最近开发一个系统&#xff0c;其中一个模块需要展示实时的执行过程&#xff0c;过程日志可能比较多。以前的方案都是前端定时轮询&#xff0c;比如每秒查一次后端接口&#xff0c;将拉取回来的日志重新展示。轮询方案简单容易实现&#xff0c;但是比较消耗资源&#…

ctfhub-SQL注入-1-基础题目详解

1.打开题目在url上判断是数字型注入还是字符型注入 1 //无回显&#xff0c;说明是报错了&#xff0c;‘和后面的‘冲突了 1’ -- //有回显&#xff0c;是因为--把后面的‘注释掉了 2.使用命令判断列数 1order by 1-- //有回显 1order by 2 -- //有回显 1order by …