螺旋数字矩阵【华为OD机试】(JAVA&Python&C++&JS题解)

149 篇文章 162 订阅 ¥9.90 ¥99.00
本文介绍了如何解决螺旋数字矩阵问题,给出了Python、Java、C++和JavaScript四种语言的解题思路和代码实现。该问题要求从左上角开始,按照顺时针螺旋方式填充数字,不足时使用'*'填充,保持每行数字个数相等,列数量最小。通过模拟填充过程,可以得到符合要求的唯一矩阵。
摘要由CSDN通过智能技术生成

一. 题目-螺旋数字矩阵

题目描述:疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:
给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3…n,最终形成一个m行矩阵。
小明对这个矩阵有些要求:
1.每行数字的个数一样多
2.列的数量尽可能少
3.填充数字时优先填充外部
4.数字不够时,使用单个*号占位

输入描述:

两个整数,空格隔开,依次表示n、m

输出描述:

符合要求的唯一矩阵

示例1

输入:

9 4
输出:

1 2 3

    • 4
      9 * 5
      8 7 6
      说明:

9个数字写成4行,最少需要3列

示例2

输入:

3 5
输出:

1
2
3
*
*
说明:

3个数字写5行ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值