回型矩阵:JAVA

解题思路:

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

38371184b7d1420f9b63f1bbfd51538b.png

c31f7a29b82b497687d17e7dd5e64a1c.png

循环结束的条件:

9bc08395c4ba4e879477c34ab69bc52e.png

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

题目描述

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

输入描述:

输入一行,包含一个整数n

1<=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();
        }
    }
}

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/938391.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于单片机的农田灌溉系统(论文+源码)

1.系统设计 本系统主要实现如下目标&#xff1a; 1&#xff0e;可以实时监测土壤湿度&#xff1b; 2&#xff0e;土壤湿度太低时&#xff0c;进行浇水操作&#xff1b; 3&#xff0e;可以按键设置湿度的触发阈值&#xff1b; 4. 可以实现远程操控 5&#xff0e;可以实现手…

QoS分类和标记

https://zhuanlan.zhihu.com/p/160937314 1111111 分类和标记是识别每个数据包优先级的过程。 这是QoS控制的第一步&#xff0c;应在源主机附近完成。 分组通常通过其分组报头来分类。下图指定的规则仔细检查了数据包头 &#xff1a; 下表列出了分类标准&#xff1a; 普通二…

Python脚本基于Tesseract-OCR实现图文识别

一、了解Tesseract-OCR 开源地址&#xff1a;https://github.com/tesseract-ocr/tesseract Tesseract-OCR 是一个开源的光学字符识别&#xff08;OCR&#xff09;引擎&#xff0c;能够识别图片中的文字并将其转化为可编辑的文本。它最初由惠普公司&#xff08;Hewlett-Packard…

软件集成测试内容和作用简析

在现代软件开发过程中&#xff0c;软件集成测试作为关键的一环&#xff0c;日益受到重视。特别是随着信息技术的快速发展&#xff0c;各类软件系统日益庞大复杂&#xff0c;如何确保系统不同模块的顺畅合作&#xff0c;成为了每个项目成功的重要基础。集成测试是指在软件开发过…

23. 合并 K 个升序链表(java)

题目描述&#xff1a; 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后的链表。 示例 1&#xff1a; 输入&#xff1a;lists [[1,4,5],[1,3,4],[2,6]] 输出&#xff1a;[1,1,2,3,4,4,5,6] 解释&#xff…

Vscode搭建C语言多文件开发环境

一、文章内容简介 本文介绍了 “Vscode搭建C语言多文件开发环境”需要用到的软件&#xff0c;以及vscode必备插件&#xff0c;最后多文件编译时tasks.json文件和launch.json文件的配置。即目录顺序。由于内容较多&#xff0c;建议大家在阅读时使用电脑阅读&#xff0c;按照目录…

解决并发情况下调用 Instruct-pix2pix 模型推理错误:index out of bounds 问题

解决并发情况下调用 Instruct-pix2pix 模型推理错误&#xff1a;index out of bounds 问题 背景介绍 在对 golang 开发的 图像生成网站 进行并发测试时&#xff0c;调用基于 Instruct-pix2pix 模型和 FastAPI 的图像生成 API 遇到了以下错误&#xff1a; Model inference er…

ARM Linux 虚拟环境搭建

一、目标 在没有arm硬件的情况下&#xff0c;使用QEMU模拟器&#xff0c;在PC上模拟一块ARM开发板&#xff0c;对ARM Linux进行学习。 二、搭建步骤 首先先有一个Linux 开发环境&#xff0c;我目前使用的是Ubuntu20. 首先安装qemu&#xff0c;qemu的官网&#xff1a;https:…

百度2020校招Web前端工程师笔试卷(第二批)

百度2020校招Web前端工程师笔试卷&#xff08;第二批&#xff09; 2024/12/17 1.FIFO为先进先出的顺序来完成页面的访问&#xff0c;而如果在采用先进先出页面淘汰算法的系统中&#xff0c;一进程在内存占3块&#xff08;开始为空&#xff09;&#xff0c;页面访问序列为1、2、…

java--抽象类(abstract)和接口(interface)

一.抽象类(abstract) 1.概念: 当父类中的一些方法不能确定实现的具体功能时,可以用abstract关键字来修饰该方法,此时,该方法就是抽象方法,该方法不需要实现方法体.可由其子类实现父类的抽象方法, abstruct不能用来修饰属性, 用abstract修饰的类叫做抽象类 // 抽象类&#x…

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:教室信息管理系统(前后端源码 + 数据库 sql 脚本)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 1.0 项目介绍 开发工具&#xff1a;IDEA、VScode 服务器&#xff1a;Tomcat&#xff0c; JDK 17 项目构建&#xff1a;maven 数据库&#xff1a;mysql 8.0 系统用户前台和管理…

Qt之修改窗口标题、图标以及自定义标题栏(九)

Qt开发 系列文章 - titles-icons-titlebars&#xff08;九&#xff09; 目录 前言 一、修改标题 二、添加图标 三、更换标题栏 1.效果演示 2.创建标题栏类 3.定义相关函数 4.使用标题栏类 总结 前言 在我们利用Qt设计软件时&#xff0c;经常需要修改窗口标题、更改软…

JumpServer开源堡垒机搭建及使用

目录 一,产品介绍 二,功能介绍 三,系统架构 3.1 应用架构 3.2 组件说明 3.3 逻辑架构 3.3 逻辑架构 四,linux单机部署及方式选择 4.1 操作系统要求(JumpServer-v3系列版本) 4.1.1 数据库 4.1.3创建数据库参考 4.2 在线安装 4.2.1 环境访问 4.3 基于docker容…

Pytorch | 从零构建GoogleNet对CIFAR10进行分类

Pytorch | 从零构建Vgg对CIFAR10进行分类 CIFAR10数据集GoogleNet网络结构特点网络整体架构特征图尺寸变化应用与影响 GoogleNet结构代码详解结构代码代码详解Inception 类初始化方法前向传播 forward GoogleNet 类初始化方法前向传播 forward 训练和测试训练代码train.py测试代…

简单了解一下 Go 语言的构建约束?

​构建约束是一种在 Go 语言中控制源文件编译条件的方法&#xff0c;它可以让您指定某些文件只在特定的操作系统、架构、编译器或 Go 版本下编译&#xff0c;而在其他环境中自动忽略。这样可以方便您针对不同的平台或场景编写不同的代码&#xff0c;实现条件编译的功能。 构建…

12.17双向链表,循环链表

循环单向链表 1.头文件test.h #ifndef __TEST_H_ #define __TEST_H_#include<stdio.h> #include<stdlib.h>typedef struct node {union{int len;int data;};struct node *next; }looplink,*looplinkPtr;//创建 looplinkPtr create();//判空 int empty(); //申请…

图的最小生成树(C++实现图【3】)

目录 1.最小生成树 1.1 Kruskal算法 代码部分 1.2 Prim算法 代码部分 1.最小生成树 连通图中的每一棵生成树&#xff0c;都是原图的一个极大无环子图&#xff0c;即&#xff1a;从其中删去任何一条边&#xff0c;生成树就不在连通&#xff1b;反之&#xff0c;在其中引入任何一…

解决电脑网速慢问题:硬件检查与软件设置指南

电脑网速慢是许多用户在使用过程中常见的问题&#xff0c;它不仅会降低工作效率&#xff0c;还可能影响娱乐体验。导致电脑网速慢的原因多种多样&#xff0c;包括硬件问题、软件设置和网络环境等。本文将从不同角度分析这些原因&#xff0c;并提供提高电脑网速的方法。 一、检查…

Python-基于Pygame的小游戏(贪吃蛇)(一)

前言:贪吃蛇是一款经典的电子游戏&#xff0c;最早可以追溯到1976年的街机游戏Blockade。随着诺基亚手机的普及&#xff0c;贪吃蛇游戏在1990年代变得广为人知。它是一款休闲益智类游戏&#xff0c;适合所有年龄段的玩家&#xff0c;其最初为单机模式&#xff0c;后来随着技术发…

MySQL表的增删改查(2)

1.数据库约束 1)约束类型 not null指定某列不能存储null值unique保证某列的每一行必须有唯一值default规定没有给列赋值时的默认值primary keynot null和unique的结合,一张表里只能有一个,作为身份标识的数据foreign key保证一个表的数据匹配另一个表中的值的参照完整性check…