当前位置: 首页 > 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;微…...

GPT-5 API 费率全拆解:2026 各平台真实价格对比,附省钱方案

GPT-5 API 费率全拆解&#xff1a;2026 各平台真实价格对比&#xff0c;附省钱方案 前言 2026 年大模型 API 竞争进入白热化阶段&#xff0c;GPT-5 各平台价格差异巨大。本文实测对比主流平台费率&#xff0c;帮你找到最佳方案。 各平台费率对比 平台GPT-5 输入GPT-5 输出特…...

【C++11 右值引用超详解】从原理到实战:移动语义 /forward/emplace 彻底吃透

前言在 C98 时代&#xff0c;我们只知道 “左值” 和 “右值”&#xff0c;但随着程序复杂度提升&#xff0c;无谓的拷贝问题越来越突出 —— 函数返回对象、容器插入元素、临时对象销毁&#xff0c;大量拷贝操作严重拖慢程序性能。C11 为了解决这个痛点&#xff0c;引入了右值…...

Playwright Python终极指南:高效浏览器自动化测试的10个技巧

Playwright Python终极指南&#xff1a;高效浏览器自动化测试的10个技巧 【免费下载链接】playwright-python Python version of the Playwright testing and automation library. 项目地址: https://gitcode.com/GitHub_Trending/pl/playwright-python Playwright Pyth…...

SCRFD实战:从数据标注到模型训练的全流程指南

1. SCRFD算法基础与场景适配 SCRFD作为轻量级人脸检测算法&#xff0c;最初设计用于输出人脸矩形框及5个关键点&#xff08;左右眼、鼻尖、嘴角&#xff09;。但在工业质检、医疗影像等领域&#xff0c;我们常需要检测其他目标并调整关键点数量。比如检测电路板元件需要3个定位…...

在团队协作中直接 Clone 主仓库开发?别慌,这才是正确的 PR 提交流程

在团队协作中直接 Clone 主仓库开发&#xff1f;别慌&#xff0c;这才是正确的 PR 提交流程 很多人以为只有 Fork 了仓库才能提 Pull Request&#xff0c;其实在公司内部项目或有写权限的私有仓库中&#xff0c;直接 Clone 新建分支 推送到主仓 是更常见、更高效的协作方式。…...

OpenFly实战:如何用无人机视觉语言导航工具链快速生成10万条训练数据

OpenFly实战&#xff1a;无人机视觉语言导航数据生成的10倍效率革命 当无人机开始理解人类语言指令时&#xff0c;一场人机交互的革命正在悄然发生。去年在深圳某科技园区&#xff0c;一组工程师仅用72小时就完成了过去需要三个月的数据采集工作——他们使用的秘密武器正是Open…...

Vivado综合策略的‘隐藏菜单’:手把手教你用TCL定制专属策略,榨干UltraScale+性能

Vivado综合策略的‘隐藏菜单’&#xff1a;手把手教你用TCL定制专属策略&#xff0c;榨干UltraScale性能 当你在Vivado中点击"Run Synthesis"时&#xff0c;是否曾好奇那些预设策略背后究竟发生了什么&#xff1f;对于大多数FPGA设计&#xff0c;Vivado提供的预设策略…...

思源宋体TTF终极指南:7字重开源字体深度解析与实战应用

思源宋体TTF终极指南&#xff1a;7字重开源字体深度解析与实战应用 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目寻找既专业又免版税的中文字体解决方案吗&#xff1f…...

告别重复造轮子:用快马AI一键生成esp8266连接阿里云IoT的高效代码模块

最近在做一个智能家居项目&#xff0c;需要用esp8266连接阿里云IoT平台。作为一个经常和物联网设备打交道的开发者&#xff0c;我发现每次新项目都要重复写类似的连接代码&#xff0c;既浪费时间又容易出错。这次尝试用InsCode(快马)平台的AI辅助生成代码模块&#xff0c;效率提…...

【FastAPI 2.0流式AI响应实战指南】:3步接入、5大避坑点、性能提升300%的工业级落地方案

第一章&#xff1a;FastAPI 2.0流式AI响应的核心演进与工业价值FastAPI 2.0 将原生流式响应能力从实验性支持升级为一级公民特性&#xff0c;彻底重构了高吞吐 AI 服务的构建范式。其核心在于深度整合 ASGI 3.0 的异步流语义与 Starlette 的 StreamingResponse 基础设施&#x…...