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

华为OD机考-数字螺旋矩阵(JAVA 2025B卷)

在这里插入图片描述
在这里插入图片描述

public class RotateMatrix {public static void main(String[] args) {// 顺时针螺旋矩阵printMatrixV1();// 逆时针螺旋矩阵//printMatrixV2();}private static void printMatrixV2() {Scanner scan = new Scanner(System.in);while(scan.hasNextLine()){String[] line = scan.nextLine().split(" ");int number = Integer.parseInt(line[0]);int row = Integer.parseInt(line[1]);int column = (number + row -1)/row;//向上取整String[][] matrix = new String[row][column];int k = 0;int left = 0,right = column - 1,top = 0,bottom=row-1;while(left <= right && top <= bottom){// 从上到下for(int i=top;i<=bottom;i++){matrix[i][left] = ++k>number?"*":""+k;}left++;// 从左到右for(int i=left;i<=right;i++){matrix[bottom][i] = ++k>number?"*":""+k;}bottom--;// 从下到上if(left<=right){for(int i=bottom;i>=top;i--){matrix[i][right] = ++k>number?"*":""+k;}right--;}// 从右到左if(top<=bottom){for(int i=right;i>=left;i--){matrix[top][i] = ++k>number?"*":""+k;}top++;}}for(int i=0;i<row;i++){for(int j=0;j<column;j++){System.out.print(matrix[i][j]+" ");}System.out.println();}}}private static void printMatrixV1() {Scanner scan = new Scanner(System.in);while(scan.hasNextLine()){String[] line = scan.nextLine().split(" ");int number = Integer.parseInt(line[0]);int row = Integer.parseInt(line[1]);int column = (number + row -1)/row;//向上取整String[][] matrix = new String[row][column];int k = 0;int left = 0,right = column - 1,top = 0,bottom=row-1;while(left <= right && top <= bottom){// 从左到右for(int i = left; i<=right; i++){matrix[top][i] = ++k>number?"*":""+k;}top++;// 从上到下for(int i=top;i<=bottom;i++){matrix[i][right]= ++k>number?"*":""+k;}right--;// 从右到左if(top<=bottom){//防止重复赋值for(int i=right;i>=left;i--){matrix[bottom][i]=++k>number?"*":""+k;}bottom--;}// 从下到上if(left<=right){//防止重复赋值for(int i=bottom;i>=top;i--){matrix[i][left]=++k>number?"*":""+k;}left++;}}for(int i=0;i<row;i++){for(int j=0;j<column;j++){System.out.print(matrix[i][j]+" ");}System.out.println();}}}}
http://www.xdnf.cn/news/13537.html

相关文章:

  • Python前端系列(三)
  • DATABASE 结构迁移实战手册:脚本生成、分类与部署全流程详解
  • 华为云Flexus+DeepSeek征文|华为云CCE容器高可用部署Dify LLM应用后的资源释放指南
  • 掌握Linux进程替换:从原理到实战(自定义shell)
  • 笔试模拟day1
  • 随记 使用certbot申请ssl证书
  • 跨域的本质与实战:从理论到松鼠短视频系统的演进-优雅草卓伊凡|卢健bigniu
  • 数据库游标:逐行处理数据的“手术刀”——从原理到实战的深度解析
  • 开关电源-KA3842A芯片的电路分析
  • CSS“多列布局”
  • 电池充放电容量检测:能否精准锁定电池真实性能?
  • PSCAD closed loop buck converter
  • 打卡day51
  • CMake安装教程
  • 2025GEO供应商排名深度解析:源易信息构建AI生态优势
  • 新德通:光通信领域的硬核力量,引领高速互联新时代
  • Appium + Node.js 测试全流程
  • 最接近的三数之和
  • Java 基础知识填空题(共 10 题)
  • 6.ref创建对象类型的响应式数据
  • FPGA实现VESA DSC编码功能
  • 【游戏项目】大型项目Git分支策略与开发流程设计构想
  • 无人机智能运行系统技术解析
  • 为进行性核上性麻痹患者定制:饮食健康指南
  • 全球首个体重管理AI大模型“减单”发布,学AI大模型来近屿智能
  • CMake指令: add_sub_directory以及工作流程
  • 速盾:高防CDN可以加速数据库吗?
  • ​​5G通信设备线路板打样:猎板PCB如何攻克高速数据传输技术瓶颈​​
  • bat 批处理查看文件年龄
  • C51 KEIL使用使用问题处理