螺旋数字矩阵 - 华为OD统一考试

OD统一考试(C卷)

分值: 100分

题解: Java / Python / C++

螺旋数字矩阵 - 华为OD统一考试_第1张图片

题目描述

疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:

给出数字个数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
*
*

你可能感兴趣的:(华为OD机试真题&题解,华为od,java,算法,python,c++,面试,机试)