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

力扣:59. 螺旋矩阵 II(Java,模拟)

目录

  • 题目描述
  • 示例 1:
  • 代码实现

题目描述

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

示例 1:

在这里插入图片描述

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

代码实现

class Solution {public int[][] generateMatrix(int n) {int[][] ans = new int[n][n];// 定义二维螺旋数组// 循环一层的初始横坐标,初始纵坐标int startX = 0;int startY = 0;int offset = 1;// 边界偏移量,控制遍历顺序从外向内int cnt = 1;// 遍历当前位置的元素数值int i = 0, j = 0;// 遍历过程中的临时变量,i表示行,j表示列// 遍历矩阵的层数为矩阵长度的一半,分边长长度为奇偶两种情况for (int k = 0; k < n / 2; k++) {// 每一条边界遵循左闭右开的遍历顺序// 遍历上边界for (j = startX; j < n - offset; j++) {ans[startX][j] = cnt++;}// 遍历右边界for (i = startX; i < n - offset; i++) {ans[i][j] = cnt++;}// 遍历下边界for (; j > startY; j--) {ans[i][j] = cnt++;}// 遍历左边界for (; i > startX; i--) {ans[i][j] = cnt++;}// 边界向内缩小一周startX++;// 起始位置横坐标加一startY++;// 起始位置纵坐标加一offset++;// 边界偏移量加一}// 如果矩阵边长为奇数的情况,需要手动填充中心数if (n % 2 != 0) {ans[startX][startY] = cnt++;}return ans;}
}

相关文章:

力扣:59. 螺旋矩阵 II(Java,模拟)

目录 题目描述示例 1&#xff1a;代码实现 题目描述 给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5…...

记录SpringBoot启动报错解决

记录SpringBoot启动报错解决 报错现场 Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following:If you want an embedde…...

微软代码页标识符 (Code Page Identifiers)

代码页标识符 (Code Page Identifiers) 双语对照 Identifiere标识符.NET Name.NET 名称Additional information其他信息037IBM037IBM EBCDIC US-CanadaIBM EBCDIC US-Canada437IBM437OEM United StatesOEM 美国500IBM500IBM EBCDIC InternationalIBM EBCDIC 国际字符集708ASMO…...

刷题——二叉树的后续遍历

方法一&#xff1a;双指针法 void postorder(TreeNode* root, vector<int>&res){if(root NULL) return;postorder(root->left,res);postorder(root->right,res);res.push_back(root->val);}vector<int> postorderTraversal(TreeNode* root) {// wri…...

用友U8 Cloud smartweb2.showRPCLoadingTip.d XXE漏洞复现

0x01 产品简介 用友U8 Cloud 提供企业级云ERP整体解决方案,全面支持多组织业务协同,实现企业互联网资源连接。 U8 Cloud 亦是亚太地区成长型企业最广泛采用的云解决方案。 0x02 漏洞概述 用友U8 Cloud smartweb2.showRPCLoadingTip.d 接口处存在XML实体,攻击者可通过该漏…...

React中的事件绑定的四种方式

1.在构造函数中绑定事件 constructor(props) {super(props);this.handleClick this.handleClick.bind(this);}2.在调用时显式绑定 <button onClick{this.handleClick.bind(this)}>Click me</button>3.使用箭头函数 handleClick () > {console.log(Button cli…...

小文件过多的解决方法(不同阶段下的治理手段,SQL端、存储端以及计算端)

上一篇介绍了小文件出现的原因以及为什么治理小文件问题迫在眉睫&#xff0c;本篇将为读者讲述在不同阶段下小文件治理的最佳手段以及如何针对性的解决小文件过多的问题。 小文件过多如何解决、治理方法 小文件是特别常见的现象&#xff0c;解决小文件问题迫在眉睫&#xff0…...

SGPT论文阅读笔记

这是篇想要用GPT来提取sentence embedding的工作&#xff0c;提出了两个框架&#xff0c;一个是SGPT-BE&#xff0c;一个是SGPT-CE&#xff0c;分别代表了Bi-Encoder setting和Cross-Encoder setting。CE的意思是在做阅读理解任务时&#xff0c;document和query是一起送进去&am…...

虚拟机与主机的网络桥接

虚拟机网路桥接是一种网络配置方式&#xff0c;它允许虚拟机与物理网络中的其他设备直接通信。在桥接模式下&#xff0c;虚拟机的网络接口通过主机的物理网卡连接到局域网中&#xff0c;就像主机本身一样&#xff0c;拥有自己的MAC地址和IP地址。这种方式使得虚拟机可以像独立的…...

urfread刷算法题day1|LeetCode2748.美丽下标的数目

题目 题目链接 LeetCode2748.美丽下标对的数目 题目描述 给你一个下标从 0 开始的整数数组 nums 。 如果下标对 i、j 满足 0 ≤ i < j < nums.length &#xff0c; 如果 nums[i] 的 第一个数字 和 nums[j] 的 最后一个数字 互质 &#xff0c; 则认为 nums[i] 和 nums…...

面向对象修炼手册(四)(多态与空间分配)(Java宝典)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;面向对象修炼手册 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 1 多态 1.1 多态的形式&…...

基于UDP的网络聊天室(多线程实现收和发消息)

要求&#xff1a;1.有新用户登录&#xff0c;其他在线的用户可以收到登录信息 2.有用户群聊&#xff0c;其他在线的用户可以收到群聊信息 3.有用户退出&#xff0c;其他在线的用户可以收到退出信息 4.服务器可以发送系统信息 效果图&#xff1a; service.c #include <head…...

【脚本工具库】随机抽取数据 - 图像和标签对应(附源码)

在数据处理和机器学习任务中&#xff0c;我们经常需要从大规模数据集中随机抽取一定数量的图像及其对应的标签文件&#xff0c;以便进行模型训练、验证或测试。手动操作不仅耗时&#xff0c;而且容易出错。为了解决这个问题&#xff0c;我们可以编写一个Python脚本&#xff0c;…...

【python】eval函数

1.eval函数的语法及用法 &#xff08;1&#xff09;语法&#xff1a;eval(expression) 参数说明&#xff1a; expression&#xff1a;必须为字符串表达式&#xff0c;可为算法&#xff0c;也可为input函数等。 说明&#xff1a;表达式必需是字符串&#xff0c;否则会报错&a…...

实战|记一次java协同办公OA系统源码审计

前言 因为笔者也是代码审计初学者&#xff0c;写得不好的地方请见谅。该文章是以项目实战角度出发&#xff0c;希望能给大家带来启发。 审计过程 审计思路 1、拿到一个项目首先要看它使用了什么技术框架&#xff0c;是使用了ssh框架&#xff0c;还是使用了ssm框架&#xff…...

浅浅谈谈如何利用Javase+多线程+计算机网络的知识做一个爬CSDN阅读量总访问量的程序

目录 我们发现csdn的文章 首先为了印证我们的想法 我们用postman往csdn我们任意一篇文章发起post请求 发送请求 ​编辑获得响应结果 我们发现我们的阅读量上涨 PostRequestSender类 但是我们经过测试发现 定义一个字符串数组 把URL放进去 然后延迟启动 在线程池里面…...

Vscode 中launch.json与tasks.json文件

Vscode 中launch.json与tasks.json文件 launch.json文件基本结构主要属性示例配置PythonCNode.js 常见配置项1. Python2. C3. Node.js 使用示例 tasks.json基本结构主要属性示例配置C 编译任务Python 运行任务Node.js 运行任务 常见配置项使用示例 tasks.json与launch.json文件…...

C#基于SkiaSharp实现印章管理(2)

上一篇文章最后提到基于System.Text.Json能够序列化SKColor对象&#xff0c;但是反序列化时却无法解析本地json数据。换成Newtonsoft.Json进行序列化和反序列化也是类似的问题。   通过百度及查看微软的帮助文档&#xff0c;上述情况下需自定义转换类以处理SKColor类型数据的…...

大二C++期末复习(自用)

一、类 1.定义成员函数 输入年份判断是否是闰年&#xff0c;若是输出年份&#xff1b;若不是&#xff0c;输出NO #include<iostream> #include<cstring> using namespace std; class TDate{private:int month;int day;int year;public:TDate(int y,int m,int d)…...

重大进展!微信支付收款码全场景接入银联网络

据中国银联6月19日消息&#xff0c;近日&#xff0c;银联网络迎来微信支付收款码场景的全面接入&#xff0c;推动条码支付互联互通取得新进展&#xff0c;为境内外广大消费者提供更多支付选择、更好支付体验。 2024年6月&#xff0c;伴随微信支付经营收款码的开放&#xff0c;微…...

基于LLM的MUD游戏AI智能体框架:从感知-思考-行动循环到工程实践

1. 项目概述&#xff1a;一个面向MUD游戏的智能体框架最近在折腾AI智能体&#xff08;Agent&#xff09;相关的项目&#xff0c;发现了一个挺有意思的仓库&#xff1a;zn0nz/mud_agent。乍一看名字&#xff0c;可能很多朋友会有点懵&#xff0c;MUD是什么&#xff1f;Agent又怎…...

国产替代浪潮下,琳科森:深耕半导体封装胶膜,做 “小而精” 的硬核材料企业

在半导体产业链中&#xff0c;封装制程用功能性胶膜是保障芯片良率与可靠性的关键基础材料。长期以来&#xff0c;高端 UV 减粘膜、晶圆划片膜等产品高度依赖进口&#xff0c;国内企业面临技术壁垒高、洁净制造门槛大、配方体系复杂等挑战。江苏琳科森材料科技有限公司&#xf…...

ARM核心板在POCT设备开发中的选型与应用实战

1. 项目概述&#xff1a;ARM核心板如何重塑POCT设备开发在医疗设备这个对稳定性和可靠性要求近乎苛刻的领域&#xff0c;每一次技术选型都像是一次精密的手术&#xff0c;容不得半点闪失。我接触过不少体外诊断&#xff08;IVD&#xff09;设备厂商&#xff0c;尤其是做即时检验…...

基于Gemini API构建多模态视觉应用:从原理到部署实践

1. 项目概述与核心价值最近在AI多模态领域&#xff0c;一个名为“gemini-vision-pro”的项目在开发者社区里引起了不小的讨论。这个项目本质上是一个基于Google Gemini API的视觉识别与图像理解应用&#xff0c;但它并非简单的API调用封装&#xff0c;而是提供了一个开箱即用、…...

从 LLM 到 Agent:Harness Engineering 的角色演变

从 LLM 到 Agent:Harness Engineering 的角色演变 本文字数:约10200字 | 阅读时间:25分钟 | 适合人群:AI算法工程师、产品经理、技术负责人、AI应用开发者 1. 引入与连接:被忽略的AI落地核心桥梁 1.1 开场:一个真实的AI落地场景 2024年中,某互联网公司运维团队负责人李…...

论文详解:考虑人类移动日常节律的动态社区检测

论文详解:考虑人类移动日常节律的动态社区检测 文章目录 论文详解:考虑人类移动日常节律的动态社区检测 1. 论文基本信息 2. 摘要与核心贡献 2.1 研究背景 2.2 研究方法 2.3 核心贡献 3. 研究背景与问题提出 3.1 城市空间结构研究的重要性 3.2 传统静态社区检测的局限性 3.3 …...

基于词汇统计的个人技能量化管理系统:从理论到实践

1. 项目概述&#xff1a;当词汇统计遇上技能图谱最近在整理个人技能库时&#xff0c;我遇到了一个挺有意思的问题&#xff1a;如何用一种更科学、更直观的方式&#xff0c;来量化和管理自己那看似杂乱无章、不断增长的技能树&#xff1f;传统的简历列表或者简单的熟练度评级&am…...

3.【Python】Python3 数据类型转换

第一步&#xff1a;分析与整理数据类型转换1. 数据类型转换概述 数据类型转换分为两种&#xff1a; 隐式类型转换&#xff1a;Python 自动完成&#xff0c;无需干预。显式类型转换&#xff1a;使用内置函数手动转换。2. 隐式类型转换 规则&#xff1a;当不同类型的数据进行运算…...

Arm Development Studio 2025.1:嵌入式开发与多核调试实战

1. Arm Development Studio 2025.1 核心定位解析作为Arm官方推出的旗舰级开发套件&#xff0c;Arm Development Studio 2025.1&#xff08;后简称DS-2025&#xff09;延续了其"芯片级开发瑞士军刀"的产品定位。不同于通用型IDE&#xff0c;这套工具链从底层就为Arm架…...

仅限首批200名DevOps工程师解密:DeepSeek内部CI/CD可观测性看板DSL语法与12个预置PromQL故障模式模板

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;DeepSeek CI/CD流水线的可观测性演进与战略定位 可观测性已从传统监控的“事后响应”范式&#xff0c;跃迁为DeepSeek CI/CD流水线的核心设计原则与战略支点。它不再仅关注指标&#xff08;Metrics&…...