蛇形矩阵,回环矩阵,数字螺旋矩阵的PHP实现

回环矩阵指的是一个从一开始,不断按照上、右、下、左顺序依次增大的矩阵序列,例:

1 2 3 
8 9 4 
7 6 5

现在要求:
输入: m、n,分别代表行数和列数
输出: m * n 的回环矩阵

例:

输入:
7 8
输出:
1 2 3 4 5 6 7 8 
26 27 28 29 30 31 32 9 
25 44 45 46 47 48 33 10 
24 43 54 57 56 49 34 11 
23 42 53 52 51 50 35 12 
22 41 40 39 38 37 36 13 
21 20 19 18 17 16 15 14 

接下来我们用 PHP 来实现,这里我们将其封装成函数调用

第一种思路

直接按照上、右、下、左的顺序进行遍历,计算好遍历层数就OK了

function snake($row = 5, $col = 5)
{
   
    // 结果集
    $res = array();
    // 初始值
    $start = 1;
    // 当前遍历层数
    $flag = intval(($row + 1) / 2);

    for ($i = 1; $i <= $flag; $i++) { 
        $startX = $i - 1;
        $startY = $i - 1;
        $width = $col - $i + 1;
        $height = $row - $i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值