当前位置: 首页 > news >正文

华为OD机考往年真题 - 数字螺旋矩阵

2026年在考真题

2026年目前正在考的真题目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

文章目录

  • 2026年在考真题
  • 题目描述
  • 输入描述
  • 输出描述
  • 用例1
  • 用例2
  • 用例3
  • Java

题目描述

疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:
给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3…n,最终形成一个m行矩阵。
小明对这个矩阵有些要求:

  • 每行数字的个数一样多
  • 列的数量尽可能少
  • 填充数字时优先填充外部
  • 数字不够时,使用单个*号占位

输入描述

输入一行,两个整数,空格隔开,依次表示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行,只有一列,数字不够用*号填充

用例3

输入:

120 7

输出:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 19 45 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 63 20 44 83 114 115 116 117 118 119 120 * * * * * * 99 64 21 43 82 113 112 111 110 109 108 107 106 105 104 103 102 101 100 65 22 42 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 23 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24

Java

importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);intn=scanner.nextInt();// 读取要填充的数字个数nintm=scanner.nextInt();// 读取矩阵的行数mscanner.close();// 输入完毕后关闭scannerintcols=(int)Math.ceil(n/(double)m);// 计算矩阵的列数int[][]matrix=newint[m][cols];// 创建一个整型矩阵,默认初始化为0intnum=1;// 用于填充的数字从1开始inttop=0,bottom=m-1,left=0,right=cols-1;while(num<=n){for(inti=left;i<=right&&num<=n;i++){// 从左到右填充上边界matrix[top][i]=num++;}top++;// 上边界下移for(inti=top;i<=bottom&&num<=n;i++){// 从上到下填充右边界matrix[i][right]=num++;}right--;// 右边界左移for(inti=right;i>=left&&num<=n;i--){// 从右到左填充下边界matrix[bottom][i]=num++;}bottom--;// 下边界上移for(inti=bottom;i>=top&&num<=n;i--){// 从下到上填充左边界matrix[i][left]=num++;}left++;// 左边界右移}for(inti=0;i<m;i++){// 遍历矩阵的每一行for(intj=0;j<cols;j++){// 遍历矩阵的每一列if(matrix[i][j]==0){// 如果当前位置是0,则输出'*'System.out.print('*');}else{// 否则输出当前位置的数字System.out.print(matrix[i][j]);}if(j<cols-1){// 在同一行的数字之间打印空格System.out.print(" ");}}System.out.println();// 每打印完一行后换行}}}

文章目录

  • 2026年在考真题
  • 题目描述
  • 输入描述
  • 输出描述
  • 用例1
  • 用例2
  • 用例3
  • Java

http://www.jsqmd.com/news/1324894/

相关文章:

  • 从暴力枚举到高效筛法:埃式筛与欧拉筛的算法原理与实现对比
  • WordPress 流量突然掉了怎么办?先别急着全点更新
  • STM32CubeMX安装与使用
  • 家具工厂做GEO服务哪家方案全?
  • AI辅助开发实战:从零构建安全可控的桌面搜索工具
  • UE5 Enhanced Input系统实战:从核心概念到键鼠控制方案完整搭建
  • Auto-tuning
  • 种子包装选型指南:3大技术参数决定作物存活率
  • 社区零售的拐点已经来了——你的门店,是升级还是被淘汰?
  • 2026呼伦贝尔闺蜜结伴打卡包车游十大口碑榜单,实力测评不踩坑,价格透明 - 工业推荐榜
  • VTK入门:从彩色立方体理解可视化管线与数据映射
  • Spring Boot启动速度优化实战与性能提升
  • SpringBoot+Vue图书商城系统开发实践
  • 2026/8/3
  • 2026 年至今,南宫靠谱的出租发电机公司哪家专业,小区突然停电3天,我靠这玩意儿稳了整晚的应急照明-速达发电机租赁 - 行业严选官
  • 嵌入式学习 day13:指针进阶
  • 2026东莞工业环氧AB胶直销供应商实力测评,价格透明不踩坑 - 工业推荐榜
  • TMC5130步进电机驱动芯片:从静音控制到无传感器闭环应用
  • 济南庆典活动会议执行落地技术白皮书:2026年行业趋势解析与实战指南
  • Replit Design 发布:AI 赋能设计愿景
  • [诊断] 草稿 d8d55f38
  • 笔记本内置硬盘损坏,北京德智康不开机电脑数据取出
  • 从Docker到Kubernetes Operator:OpenClaw部署架构演进与实战指南
  • UnityMMO框架设计:从状态同步到ECS混合架构的实战解析
  • Spring Boot 3 REST API 工程化实践:校验、异常、日志与测试
  • Mac与Linux服务器文件传输实战:scp与sftp命令详解
  • vllm、sglang对比
  • 计算机毕业设计之基于Spring Boot框架的流浪动物救助平台设计与实现
  • DNS服务管理:从基础原理到企业级配置实践
  • 软件结构图设计:变换分析、事务分析与混合流设计实战指南