矩阵打印问题-zigzag打印矩阵

本文探讨了矩阵的Zigzag打印技巧,强调理解宏观规律而非陷入细节。核心在于理解打印斜线的过程,通过控制A和B两个点的移动方向(右上至左下或左下至右上),实现Zigzag效果。提供了打印斜线和矩形的函数实现,即使对于特殊形状如单列或单行矩阵也能适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

矩阵打印技巧:找到矩阵宏规律1,不要陷入细节,

zigzag打印矩阵

在这里插入图片描述

  1. 宏观的规律是什么 ?
    其实比较宏观的规律是都是打印斜线,只是方向不同而已(这个问题很容易解决);

  2. 如何实现宏观的规律?
    使用A[ar,ac]表示右上的点
    使用B[br,bc]表示左下的点

  3. 这两个点如何移动呢?
    A点首先向右移动,直到无法向右移动时,向下移动
    B点首先向下移动,直到无法向下移动时,向右移动;

打印斜线的函数
A的坐标位(ar,ac),B的坐标位B(br,bc),
flag控制打印方向:true,从右上到左下打印,false 从左下到右上的打印;

void printLevel(int[][] matrix, int ar, int ac, int br, int bc, boolean flag) {
   
        // 右上到左下的打印
        if (flag) {
   
            while 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值