java实现对给定维数矩阵按顺时针螺旋循环递增实现矩阵的赋值

螺旋矩阵II(Java) 阅读详情

package array;

import java.util.Scanner;

public class Test {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner input=new Scanner(System.in);
        //输入数组矩阵的维数(注释以4编写)
        int n=input.nextInt();
        //初始化创建起整个数组矩阵
        int array[][]=new int[n][n];
        /*
         * 2019.3.6
         * currRow是切换循环时的行 顺序依次是0 3 1 2规律是+3  -2  +1
         * currCol是切换循环时的列 顺序依次是3 0 2 1规律是-3  +2  -1
         * temp是用作修改currRow的变量
         * temp1是用作修改currCol的变量
         * start是每一圈循环是的起始位置
         * store1是存储数组矩阵的维数
         */
        int currRow=0,store=1,currCol=n-1;
        int temp=1;
        int temp1=1;
        int start=0;
        int store1=n;
        /*
         * 主要思想就是对于矩阵的最外面的4个边单独写一个循环
         * 对于里面的部分可以看做是一个缩小的矩阵,只需要在while循环最后修改循环开始和结束的变量(start和n)
         */
        while(store<=(store1*store1)) {
            //System.out.println("执行到此");
            for(int i=start;i<n;i++) {
                array[currRow][i]=store++;
            }
            currRow+=store1-temp;
            temp++;
            for(int i=start+1;i<n-1;i++) {
                array[i][currCol]=store++;
            }
            currCol-=store1-temp1;
            temp1++;
            for(int i=n-1;i>start;i--) {
                array[currRow][i]=store++;
            }
            currRow-=store1-temp;
            temp++;
            for(int i=n-1;i>start;i--) {
                array[i][currCol]=store++;
            }
            currCol+=store1-temp1;
            temp1++;
            n-=1;
            start++;
        }
        for(int i=0;i<store1;i++) {
            for(int t:array[i]) {
                System.out.print(t+"   ");
            }
            System.out.println();
        }
        
    }

}
 

使用KITTI数据集测试不同算法的性能 该文章将使用同一个kitti数据集来测试不同算法的性能,目前已经测试的算法包括:LIO-SAM,FAST-LIO2,Point-LIO,Faster-LIO。 阅读详情

相关推荐

数据分析项目:电商用户行为分析系统

本报告基于某电商平台用户行为数据(采样10%),通过清洗、探索性分析及多维度建模,旨在挖掘用户行为特征、商品销售规律及用户价值分层,为运营策略优化提供数据支持。原始数据字段:用户ID、商品ID、类目ID、行为类型、时间戳。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。长尾商品(购买量低)可考虑捆绑销售或限时折扣,提升动销率。,少数高活跃用户贡献大部分行为,多数用户行为次数较少。

Nervousr的博客 1703

java初始矩阵_Java回形矩阵(数组元素赋值问题)

问题:从键盘读入一个数,打印出以下特点的矩阵。如输入3,则输出为:1 2 38 9 47 6 5若输入4,则输出为:1 2 3 412 13 14 511 16 15 610 9 8 7显然,该问题应用数组来存储数据,所以重点是找出赋值的规律。从问题中能够看出,矩阵是按顺时针顺序,从外圈到内圈,由...

weixin_28973031的博客 879

Lakes.AERMOD.View.v8.9.0 1CD大气扩散模型软件包

Lakes.AERMOD.View.v8.9.0 1CD大气扩散模型软件包 Lakes Environmental ARTM View v1.4.2 1CD放射物扩散模拟模型 Aermod View是一套完整的、功能强大的大气扩散模型软件包,并将美国EPA指定的大气扩散模型(如下)完美的集成成为一个综合的操作平 台: - AERMOD 电话TEL:18980583122  客服 QQ:11

yyii0000的博客 4001

在java中给数组赋值,java中给数组赋值的方法

1、数组操作中,可以使用等于(=)赋值注意:此时新数组只是指向原数组的存储空间,并没有重新申请新的空间。实例:public class ArrayTest{public static void main(String args[]){// 1int[] a=new int[4];a[0]=1;a[1]=2;a[2]=3;a[3]=4;System.out.println(a[3]);// 2int...

weixin_28933797的博客 5249

N32串口DMA接收不定长数据:空闲中断与DMA通道的协同处理

本文详细解析了在N32系列MCU中,利用串口空闲中断与DMA通道协同处理不定长数据的核心机制与实战方法。通过剖析空闲中断的触发时机、DMA的配置要点以及两者协同工作的关键时序,提供了避免数据错乱的避坑指南和完整的代码实现,旨在帮助开发者构建高效、可靠的嵌入式串口通信子系统。

weixin_29191669的博客 123

国科GK7202V300芯片开发避坑指南:从uboot编译到SDK配置的12个实战问题解决

本文针对国科GK7202V300芯片开发过程中的常见难题,提供从uboot编译、SDK配置到系统部署的实战解决方案。详细解析了开发环境搭建、内核编译、驱动模块加载、根文件系统构建及烧写部署等12个关键环节的避坑指南,帮助开发者高效解决编译错误、配置冲突等典型问题,提升开发效率。

sunny的博客 235

每日题解:LeetCode 面试题29. 顺时针打印矩阵

题目地址 个人博客地址 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 示例 2: 输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]] 输出:[1,2,3,4,8,12,11,10,9,5,6,7] 限制: 0 <= matrix.length <= 100 0 <= matrix[i]

liuhao192的博客 364

MATLAB新手必看:Stewart平台运动学逆解从入门到实战(附完整代码)

本文详细介绍了如何使用MATLAB实现Stewart平台的运动学逆解,从基础原理到完整代码实现,涵盖并联机器人的数学建模、MATLAB编程和Simulink集成。通过实战案例和可视化分析,帮助新手快速掌握Stewart平台的运动学逆解技术,适用于机器人学和控制理论领域的研究与应用。

dream的博客 551

JAVA中如何创建一个二维数组,然后给二维数组赋值!

普通的赋值是:int[][] i = {{1,2,3},{2,3,4},{1,3,4}}; 如果是其他情况可以这样:比如: import java.util.* public class TT(){ public static void main(String[] args){ int m=0; for(int i=0 ;i<5;i++){ for(int j=0;j<5;j...

weixin_34416754的博客 2万+

GPMC开发笔记(TI开发者推荐笔记)

因为gpmc(General-Purpose Memory Controller)是TI特有的驱动,gpmc的资料比较少,本人开发gpmc驱动算是摸了很多石头过河的。所以想通过这遍文章可以给也做GPMC驱动开发的后来者有一点参考价值。文章如有瑕疵也请各位批评改正。 1.GPMC介绍 gpmc主要用于与nandflash,norflash,fpga进行通信。在这里主要介绍gpmc16位数据和地址线不复用nor模式下的通信。 注意:在这种模式下gpmc_a[0]引脚是没法使用的 1.1GPMC信号线

weixin_44316996的博客 7507

硬件测试实战笔记:SI/PI 到底测什么,怎么测?一文讲清

点选错了,数据越精确越误导。

qq_52293640的博客 259

每日挠头算法题(十五)螺旋矩阵II

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

大三软件工程在读,喜爱编程,分享。 1305

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

1050 螺旋矩阵Java实现

本题要求将给定的 N 个正整数按非递增的顺序,填入“螺旋矩阵”。所谓“螺旋矩阵”,是指从左上角第 1 个格子开始,按顺时针螺旋方向填充。要求矩阵的规模为 m 行 n 列,满足条件:m×n 等于 N;m≥n;且 m−n 取所有可能值中的最小值。 输入格式: 输入在第 1 行中给出一个正整数 N,第 2 行给出 N 个待填充的正整数。所有数字不超过 10​4​​,相邻数字以空格分隔。 输出格式: 输...

weixin_45082647的博客 381

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

数组|leetcode59.螺旋矩阵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 思想: 本题主要掌握对数组索引的控制即可,因为数组中的元素以顺时针递增,所以将顺时针递增一圈为一次大的while循环,while循环内的四个for循环依次是求一圈的上右下左边。如果n是奇.

qq_43941925的博客 277

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[leetCode]59. 螺旋矩阵 II

模拟 模拟顺时针画矩阵过程 填充上行,从左到右 填充右列,从上到下 填充下行,从右到左 填充左列,从下到上 画一圈需要画四条边,需要注意的是每画一条边都需要遵循「左闭右开」原则 ,也就是说每一条边的画法要相同,不然代码会越写越乱。 下面按照左闭右开原则画一圈: 每一种颜色代表一条边,在拐角处画新的边。 class Solution { public int[][] generateMatrix(int n) { // 定义一个二维数组 int[][] ans.

Warms的博客 157

Leet59. 螺旋矩阵 II

当 n 为奇数时,中心元素会被填充一次。例如,n = 3 时,中心元素 (1,1) 会在从左至右的填充中被赋值。该算法的时间复杂度为 O(n²),因为需要填充 n² 个元素。空间复杂度为 O(n²),用于存储生成的矩阵。在从右至左和从下至上的填充步骤中,可以添加边界检查,避免在奇数 n 时重复填充中心元素。,分别表示当前螺旋的上下左右边界。初始化一个 n x n 的矩阵。到 n² 所有元素,且元素按顺时针顺序螺旋排列的。递增,确保数值按顺序填充到矩阵中。,确保螺旋填充的边界条件有效。

lungury的博客 232

螺旋矩阵 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 ...

Primary_wind的专栏 206

java解决螺旋矩阵leetcode第59题

一、问题描述 螺旋矩阵 II Category Difficulty Likes Dislikes algorithms Medium (77.37%) 618 - Tags Companies 给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]] 示例 2: 输入:n = 1 输出:[[1]] 提示: 1 <

ws_please的博客 374

java 顺时针螺旋数组(只用一次for循环完成装填数据)

二话不说直接上图 顺时针输入螺旋数字思路: 第一 先确定什么时候进入下一圈结束( 就是图上的 20 32 ) 第二 确定什么时候开始转变趋势 比如 最外层 1到6 是横向向右递增的 6到11是向下增加的 11到16是向左增加的 16到11是向上增加的 第三 当前数字和当前数组横向坐标和竖向坐标建立关系。(这是最难的,需要考虑横向 纵

bu_wangchuxin的博客 1157

java实现填充环形矩阵(附带源码)

java实现填充环形矩阵(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1325

Leetcode59:螺旋矩阵

该图形从 右,下,左,上 依次递增 可以简单看成往一个矩阵里填充数字。四个边界:左侧边界left=0,右侧边界right=n-1,上侧边界up=0,下侧边界down=n-1可以看成大全套小圈,所以循环一次四个边界就会发生相应变化。(不断缩小圈)

weixin_63328469的博客 98

Leetcode 59:螺旋矩阵 II

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

xiao_xiao_wang_的博客 193

螺旋矩阵算法精讲:从边界处理到竞赛实战,掌握模拟思维

在算法与数据结构中,二维数组的操作是基础且核心的技能,它直接关联到对程序逻辑严谨性和空间思维能力的考察。其原理在于通过循环与条件判断,精确控制索引在矩阵中的移动轨迹,从而实现对数据的系统化访问或填充。掌握这项技术对于提升代码实现能力和解决复杂模拟问题具有重要价值,尤其在图形打印、路径搜索等应用场景中尤为关键。本文聚焦于螺旋矩阵这一经典问题,深入剖析其按层模拟与路径模拟两种核心解法,并重点讲解边界条件处理这一高频难点,帮助读者攻克蓝桥杯等算法竞赛中的常见考点,有效锻炼逻辑思维与调试能力。

weixin_34268579的博客 405

【算法 day02】LeetCode 209.长度最小的子数组 | 59.螺旋矩阵II

本文解析了两道数组相关算法题: 长度最小的子数组(滑动窗口解法) 使用滑动窗口寻找满足sum≥target的最短连续子数组 定义左右指针,当sum满足条件时收缩左边界 时间复杂度O(n),空间复杂度O(1) 螺旋矩阵II(模拟填充解法) 按顺时针方向分层填充n×n矩阵 每层处理四条边(左→右、上→下、右→左、下→上) 注意边界条件和奇数n的中心点处理 时间复杂度O(n²),空间复杂度O(1) 两道题都体现了数组操作中的指针技巧和边界控制,其中螺旋矩阵的填充逻辑较为复杂,需要特别注意循环条件和坐标变化。

qq_53445252的博客 544

「1105」Spiral Matrix

This time your job is to fill a sequence ofNpositive integers into aspiral matrixin non-increasing order. A spiral matrix is filled in from the first element at the upper-left corner, the...

weixin_52435933的博客 192
上一篇: Visual studio code 编辑时出现的火花爆炸效果
下一篇: response.sendRedirect(url)中的url问题
Is_stefanie
博客等级 码龄8年 25粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值