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

华为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();}}}}

相关文章:

  • 6.10[A]BB84 量子
  • [Java 基础]Math 类
  • 如何使用deepseek满血版
  • Docker Swarm overlay 和 docker_gwbridge
  • 如何开启自己计算机远程桌面连接功能? 给别人或异地访问
  • Spring声明式事务生效是有条件滴!
  • 基于 HTML5 的画图工具
  • Windows 安装 Maven
  • C#最佳实践:为何优先使用readonly而非const
  • 【Kubernetes】---污点(Taint)与容忍(Toleration)
  • Java基于局域网的聊天室系统设计与实现,附源码+论文
  • QMultiMapQHashQList使用区别
  • 类复制.省略 class.copy.elision
  • Qt工作总结06 < QMap<> 和QVector<QPair>、以及QPair<>和QMakePair<> >
  • 远程io模块在汽车流水线的应用
  • 【Python】Python办公自动化需要你了解什么?会什么?
  • AI 赋能 Java 开发:从通宵达旦到高效交付的蜕变之路
  • DD3118完整版参数规格书|DD3118 3.0读卡器控制方案|DD3118高速3.0读卡器芯片
  • BTREE存储结构
  • Android 10.0 勿扰模式开启关闭功能实现
  • 青岛外贸网站设计/刷赞网站推广ks
  • 网页编程培训学校/seo优化一般多少钱
  • 怎么做卡盟网站免费/百度发广告需要多少钱
  • 济南优化网站排名/漯河网站推广公司
  • 体育如何做原创视频网站/app推广好做吗
  • 网站整站截图/郑州做网站公司排名