0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何输出这样的矩阵呢?

算法与数据结构 来源:小K算法 作者:小K算法 2022-05-13 11:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

01 故事起源有这样的一种矩阵,从左上角开始,顺时针从外向里旋转,数字依次递增,如果给定任意行n、列m,请问如何输出这样的矩阵呢? 45346602-d267-11ec-bce3-dac502259ad0.jpg    02 分析这个问题第一眼就觉得很简单,为啥呢,因为规律很明显,问题描述都已经说的很清晰了,只要按照要求模拟一遍就行了。
如果现在让你把这个问题描述给其他人,你是不是也会这样来描述:一直向前走,无路可走向右转。。。 455742bc-d267-11ec-bce3-dac502259ad0.jpg    03 模拟啥是模拟呢,模拟就是按照你的想法,机械的执行命令就可以了,没有啥算法可言,就像这个问题一样。 4572a4f8-d267-11ec-bce3-dac502259ad0.jpg  不过机器并不能听懂你的高级语言,所以需要翻译一下。 458b2a50-d267-11ec-bce3-dac502259ad0.jpg  说机话
整个过程拆解为4个步骤:
从矩阵左上角开始向右直到边界;2)向下;3)向左;4)向上。
重复上面4个步骤,直到填满整个矩阵。
45ab891c-d267-11ec-bce3-dac502259ad0.jpg  于是我们就得到了初步的框架:

			while(还没填满){  //向右直到边界 j++;  //向下直到边界 i++;  //向左直到边界 j--;  //向上直到边界  i--; }
			
									04
									细节从左向右,结束时j超出边界,需要j--。最上一行已填满,上边界下移,同时i也下移。
			45cd85da-d267-11ec-bce3-dac502259ad0.jpg
			 从上向下,结束时i超出边界,需要i--。最右一列已填满,右边界左移,同时j也左移。
			45eb6ece-d267-11ec-bce3-dac502259ad0.jpg
			 其余2个过程同理。
			
										05
										代码实现
#defineROW5
#defineCOLUMN5
voidmain(){
intleft=0,right=COLUMN-1,top=0,bottom=ROW-1;
intf[ROW][COLUMN],i=0,j=0,num=1;
while(i>=top&&i<= bottom && j >=left&&j<= right) {
        //left->right
while(j<= right) {
            f[i][j++] = num++;
        }
        j--;
        top++;
        i++;
        //top->bottom
while(i<= bottom) {
            f[i++][j] = num++;
        }
        i--;
        right--;
        j--;
        //right->left
while(j>=left){
f[i][j--]=num++;
}
j++;
bottom--;
i--;
//bottom->top
while(i>=top){
f[i--][j]=num++;
}
i++;
left++;
j++;
}
}
06 总结模拟问题一般都比较简单,只需要把整个框架过程抽象出来,然后机械的实现即可。但偶尔也会遇到复杂的模拟,一般都是细节涉及的比较多,比如边界信息太多,或者过程太多等。不过这种问题很适合锻炼代码实现能力,多做就能达到“有思想就一定能实现”的状态。 审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模拟
    +关注

    关注

    7

    文章

    1447

    浏览量

    85513
  • 矩阵
    +关注

    关注

    1

    文章

    450

    浏览量

    36253

原文标题:旋转矩阵

文章出处:【微信号:TheAlgorithm,微信公众号:算法与数据结构】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索FMS6501:12输入/9输出视频开关矩阵的卓越性能与应用

    探索FMS6501:12输入/9输出视频开关矩阵的卓越性能与应用 在当今的视频应用领域,对于灵活、高效的视频切换解决方案的需求日益增长。FMS6501作为一款具有独特特性的12输入/9输出视频开关
    的头像 发表于 04-11 14:05 99次阅读

    SGM6502A:高性能8输入6输出视频开关矩阵的深度剖析

    SGM6502A:高性能8输入6输出视频开关矩阵的深度剖析 在电子设计领域,视频信号的处理和切换是一项关键技术,尤其是在安防监控、高清电视、汽车导航等众多应用场景中。SG Micro Corp推出
    的头像 发表于 03-17 10:05 181次阅读

    SGM6502:8 输入 6 输出视频开关矩阵芯片的深度解析

    SGM6502:8 输入 6 输出视频开关矩阵芯片的深度解析 在视频处理领域,一款性能出色的视频开关矩阵芯片能为系统设计带来极大的便利。今天,我们就来深入了解一下 SGM6502 这款 8 输入 6
    的头像 发表于 03-17 10:05 203次阅读

    SGM6501:高性能视频开关矩阵芯片的详细解析

    SGM6501:高性能视频开关矩阵芯片的详细解析 在视频处理领域,一款优秀的视频开关矩阵芯片对于实现高效、灵活的视频信号路由至关重要。SGM6501作为一款具有12输入、9输出的视频开关矩阵
    的头像 发表于 03-17 09:40 391次阅读

    探索MAX25504:汽车LED矩阵驱动的理想之选

    通道的模块化矩阵驱动芯片。其集成的电流输出端每个都能吸收高达65mA的LED电流,源驱动引脚则以多路复用的方式为矩阵的列提供电流。芯片的电源由外部3.3V或5V电源提
    的头像 发表于 01-30 15:35 356次阅读

    汽车LED矩阵驱动新选择:MAX25505

    概述 MAX25504/MAX25505是4 x 24通道的模块化矩阵驱动器。其集成的电流输出端每个可吸收高达65mA的LED电流,源驱动引脚以多路复用的方式为矩
    的头像 发表于 01-30 15:35 287次阅读

    探索MAX25503:4 x 24汽车LED矩阵驱动器的卓越性能

    的模块化矩阵驱动器。它的每个集成电流输出能够吸收高达65mA的LED电流,源驱动引脚则以多路复用的方式为矩阵的列提供电流。该设备的电源来
    的头像 发表于 01-30 15:35 875次阅读

    MAX25500:4 x 24 汽车 LED 矩阵驱动器的卓越之选

    是一款专为本地调光汽车显示屏设计的 4 x 24 通道模块化矩阵背光驱动器。它的集成电流输出每个可吸收高达 72mA 的发光二极管(LED)电流,
    的头像 发表于 01-30 15:25 259次阅读

    MAX25501:汽车LED矩阵驱动领域的新星

    。今天,就为大家详细介绍一款非常出色的4 x 24汽车LED矩阵驱动器——MAX25501。 文件下载: MAX25501.pdf 器件概述 MAX25501是一款专为局部调光汽车显示屏设计的4 x 24通道模块化矩阵背光驱动器。它的集成电流
    的头像 发表于 01-30 15:25 409次阅读

    一文读懂 HDMI 矩阵:分类、特性、场景全攻略,告别信号切换难题

    从高等数学线性代数的矩阵概念延伸来看,信号传输领域中的矩阵,通常指在多路输入场景下具备多路输出选择功能的结构模式,形成类似矩阵的信号分配架构。其核心特性为:每一路
    的头像 发表于 01-28 10:28 482次阅读
    一文读懂 HDMI <b class='flag-5'>矩阵</b>:分类、特性、场景全攻略,告别信号切换难题

    【技术帖】艾为扩展IC助力解决矩阵键盘痛点

    解决方案。图1矩阵键盘概念图矩阵按键的基本原理市面大部分矩阵按键应用本质其实就是通过行列交叉点检测按键状态,其工作原理大概分以下三个步骤:行线设置为输出,列线设置为
    的头像 发表于 01-27 18:34 268次阅读
    【技术帖】艾为扩展IC助力解决<b class='flag-5'>矩阵</b>键盘痛点

    高清混合矩阵 vs 传统矩阵:别再瞎选!3 大核心差异 + 行业选型攻略,选错可能亏大了

    在数字化视听系统快速发展的当下,矩阵切换器作为信号传输与调度的 “核心枢纽”,其性能差异直接影响着视听体验的质量与系统运行的稳定性。目前市场上主流的矩阵切换器主要分为 “高清混合矩阵切换器
    的头像 发表于 11-12 10:42 605次阅读
    高清混合<b class='flag-5'>矩阵</b> vs 传统<b class='flag-5'>矩阵</b>:别再瞎选!3 大核心差异 + 行业选型攻略,选错可能亏大了

    讯维全域智能矩阵系统正式发布

    近日,讯维正式发布了其最新力作:全域智能矩阵系统。该系统以"一体五智,化繁为简"为核心理念,集成了矩阵切换、大屏拼控、智能中控、视频录播及AI智能应用五大核心功能,旨在为会议室、指挥中心、教室、展厅等多媒体场景提供无缝、智能、一体化的信号管理解决方案,引领行业迈向高效、可
    的头像 发表于 10-16 10:14 769次阅读

    求助,关于STM32H743使用DSP进行矩阵求逆计算出现的问题求解

    我正在STM32H743上实现一个算法,需要进行一个20*20的矩阵求逆,但是计算结果与matlab对比差距非常大,完全不正确,原矩阵A的部分数值类似如下: 在matlab中求逆的部分结果如下: 但是在STM32H743中的求逆计算结果却是
    发表于 08-08 07:24

    无刷直流电机状态方程系数矩阵的动态更新

    的仿真建模。把系数矩阵放在静态变量存储区,可直接修改状态方程组的系数矩阵,达到快速修改此系数矩阵的目的。另外,在每个仿真步长的输出阶段修改系数矩阵
    发表于 07-09 14:17