printf打印数组_万万没想到,面试中一个数组遍历让我栽了跟头。

面试中,作者被要求实现二维数组的顺时针螺旋遍历,这在实际编程中并不常见,但却常出现在面试中。通过将数组想象为嵌套的数字圈,采用递归方法,按照上-右-下-左的顺序遍历,同时处理边界重合问题。递归结束条件是矩形起点的横坐标不超过长度,纵坐标不超过高度。本文详细解析了该算法的思路和关键点。
摘要由CSDN通过智能技术生成

3c98695519e9ddf11dd5ddbbb38af233.png

作者 | Lee

面试官:我看你简历上写了精通各种算法,来写一个二维数组遍历吧。

于是我拿起了笔,写下了下面的代码。

#include int main(){
        int a[][3] = {
    {
    1, 2, 3}, {
    4, 5, 6}};    int i, j;    for (i = 0; i < 2; i++)    {           for (j = 0; j < 3; j++)        {               printf("%d ", a[i][j]);        }           printf("\n");    }       return 0;}

面试官:别急,听清楚要求。给你一个二维数组,按照顺时针的顺序,螺旋遍历所有的元素。比如有下面的二维数组:

74295b6ae1017242ba533636b5e0ee13.png

我们需要从第一个元素 1 开始&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值