回型矩阵:JAVA

ops/2024/12/19 19:54:17/

解题思路:

通过定义四条边界;top,left,right,bottom,来循环,当top>=bottom&&left>=right的时候循环终止

38371184b7d1420f9b63f1bbfd51538b.png

c31f7a29b82b497687d17e7dd5e64a1c.png

循环结束的条件:

9bc08395c4ba4e879477c34ab69bc52e.png

链接:登录—专业IT笔试面试备考平台_牛客网
来源:牛客网
 

题目描述

给你一个整数n,按要求输出n∗n的回型矩阵

输入描述:

输入一行,包含一个整数n1<=n<=19

输出描述:

输出n行,每行包含n个正整数.

示例1

输入

4

输出

1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7

代码:

package cs2;import java.util.Scanner;public class T12 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int [][]arr=new int[n][n];int left=0;int right=n-1;int top=0;int bottom=n-1;int sum=1;while (left<=right&&top<=bottom){//从左到右//这个循环写的是top边界,它要不断的往下去循环,所以这里数组的行是top,里面的值是列//列是可变的所以列++,当时top的值是0,所以要给top赋值让它一只往下加//当top的值大于bottom的时候跳出while循环遍历数组所有元素输出;for (int i = left; i <=right ; i++) {arr[top][i]=sum++;}top++;//从上往下for (int i = top; i <=bottom ; i++) {arr[i][right]=sum++;}right--;for (int i =right; i >=left ; i--) {arr[bottom][i]=sum++;}bottom--;for (int i =bottom; i >=top ; i--) {arr[i][left]=sum++;}left++;}for (int i = 0; i <n ; i++) {for (int j = 0; j <n ; j++) {System.out.print(arr[i][j]+" ");}System.out.println();}}
}

 

 


http://www.ppmy.cn/ops/143276.html

相关文章

Spring(二)AOP、切入点表达式、AspecJ常用通知的类型、Spring中的事务管理

文章目录 一、AOP 1、定义 2、特点 3、AOP中的术语&#xff08;连接点、切入点、通知、目标、代理&#xff09; 4、配置 &#xff08;1&#xff09;下载AOP相关jar &#xff08;2&#xff09;启动AspectJ支持 5、使用 6、切入点表达式 7、AspecJ常用通知的类型 &…

二、windows环境下vscode使用wsl教程

本篇文件介绍了在windows系统使用vscode如何连接使用wsl&#xff0c;方便wsl在vscode进行开发。 1、插件安装 双击桌面vscode&#xff0c;按快捷键CtrlShiftX打开插件市场&#xff0c;搜索【WSL】点击安装即可。 2、开启WSL的linux子系统 点击左下方图标【Open a Remote Win…

linux 免密远程到多个服务器如何实现

要实现从主机 192.168.1.2 免密远程连接到 192.168.1.3 和 192.168.1.4&#xff0c;您可以使用 SSH 密钥对进行身份验证。以下是详细的步骤&#xff1a; 步骤 1&#xff1a;生成 SSH 密钥对 在 192.168.1.2 主机上生成 SSH 密钥对&#xff08;如果您尚未生成过&#xff09;&a…

深入了解AI编程工具Cursor:智能编程的未来

随着人工智能技术的不断发展&#xff0c;AI 编程工具的出现极大地提升了开发者的编程效率和代码质量。**Cursor** 是其中一款备受关注的 AI 编程工具&#xff0c;它通过智能代码补全、错误提示、代码优化和自动生成等功能&#xff0c;为开发者提供了前所未有的编程体验。在本文…

【MySQL】优雅的使用MySQL实现分布式锁

MySQL实现分布式锁 引言二、基于唯一索引2.1、实现思路2.2、代码实现2.3、 测试代码2.4、小结 三、基于悲观锁3.1 、实现思路3.2、代码实现3.3、测试代码3.4、小结 四、基于乐观锁4.1 、实现思路4.2 、代码实现4.3 、测试代码4.4、小结 总结 引言 在文章《Redis实现分布式锁详…

一、LRU缓存

LRU缓存 1.LRU缓存介绍2.LRU缓存实现3.LRU缓存总结3.1 LRU 缓存的应用3.2 LRU 缓存的优缺点 1.LRU缓存介绍 LRU是Least Recently Used 的缩写&#xff0c;意为“最近最少使用”。它是一种常见的缓存淘汰策略&#xff0c;用于在缓存容量有限时&#xff0c;决定哪些数据需要被删…

mysql,创建数据库和用户授权核心语句

一.库操作1.创建库create database if not exists 库名 default 字符集 default 校对规则2.删除库drop database if exists 库名3.修改库的,字符集,校对规则alter databse 库名 default 字符集 default 校对规则4.查看当前使用的库seclect databse();5.查看库show databases;…

MTU MSS

目录 一、MTU\MSS是什么二、为什么三次握手协商MSS 一、MTU\MSS是什么 MTU : Maximum Transmission Unit,即最大传输单元&#xff0c;表示数据链路层可以传输的最大数据包&#xff08;不包含帧首部和尾部&#xff09;。 MSS : Maximum Segment Size,即最大报文段长度。MSS是TC…