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

网站歌曲代码网站源码在哪看

网站歌曲代码,网站源码在哪看,华为企业解决方案,一般人做不了咨询顾问1 题目描述 疫情期间&#xff0c;小明隔离在家&#xff0c;百无聊赖&#xff0c;在纸上写数字玩。他发明了一种写法&#xff1a; 给出数字个数 n &#xff08;0 < n ≤ 999&#xff09;和行数 m&#xff08;0 < m ≤ 999&#xff09;&#xff0c;从左上角的 1 开始&…

1 题目描述

疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法:

给出数字个数 n (0 < n ≤ 999)和行数 m(0 < m ≤ 999),从左上角的 1 开始,按照顺时针螺旋向内写方式,依次写出2,3,…,n,最终形成一个 m 行矩阵。

小明对这个矩阵有些要求:

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

2 输入描述

两个整数,空格隔开,依次表示 n、m

3 输出描述

符合要求的唯一矩阵

4 用例

4.1 用例1

输入

9 4

输出

1 2 3
* * 4
9 * 5
8 7 6

4.2 用例2

输入

3 5

输出

1
2
3
*
*

5 题目分析·

考点:这道题考的是对二维数组的使用。
解析:题目中比较容易钻牛角尖的描述是每行数字的个数一样多。这句实际上是矩阵的特点,可以忽略。读完题目,我们发现有两个问题需要解决

1. 确定矩阵的列数
2. 设计填充的算法

通过列的数量尽可能少这个需求,我们可以想到,最少的情况,即矩阵中填充的全都是数字。那么列数= 填充的数字个数n/行数向上取整。
然后是如何填充,这就涉及到了二维数组的螺旋形遍历。我们可以想象一个人在背包容量限制下,在顺时针绕圈捡东西,当不为0,则为已捡过,即换方向捡。

6 Java代码

根据5中的思路,我们可以写出如下代码(代码中给出了详细的注释):


public class SpiralMatrix {public static void main(String[] args) {//这里n和m可以修改为使用Scanner从控制台读取输入int n = 120;int m = 7;int columnCount=Math.ceilDiv(n,m);int[][] matrix = new int[m][columnCount];fillSpiral(matrix,n);for (int i = 0; i < m; i++) {for (int j = 0; j < columnCount; j++) {System.out.printf("%2s ", matrix[i][j] == 0 ? "*" : matrix[i][j]);}System.out.println();}}public static void fillSpiral(int[][] matrix, int total) {// 将要填充的数字,从1开始int num = 1;// 方向变量,四个元素分别表示:向右,向下,向左,向上int[][] directions = {{0, 1}, {1, 0}, {0, -1}, {-1, 0}};// 初始化方向变量的索引,0表示初始方向为向右int dir = 0;// 初始化行列索引int row = 0, col = 0;// 继续填充,直到所有的数字被填充完while (num <= total) {// 将数字填充到矩阵的当前位置,然后数字加1matrix[row][col] = num++;// 尝试按照当前方向去获取新的行列索引int newRow = row + directions[dir][0];int newCol = col + directions[dir][1];// 检查新的行列索引是否超出矩阵的边界,或者该位置已经被填充过// 如果是,则将方向变量的索引加1(取模为了形成循环:向右,向下,向左,向上)if (newRow < 0 || newRow >= matrix.length || newCol < 0 || newCol >= matrix[0].length || matrix[newRow][newCol] != 0) {dir = (dir + 1) % 4;}// 根据新的方向更新行列索引row += directions[dir][0];col += directions[dir][1];}}
}
http://www.yayakq.cn/news/932351/

相关文章:

  • 网站职业技能培训学校设计师必逛网站排名
  • 壁画网站建设福州市网站建设公司
  • 哪个网站可以找做软件兼职的谷歌 网站做推广
  • 营销型网站设计价格大学生毕业设计课题做网站
  • 临沂做百度网站软件公司怎样做网站表白墙
  • 手机网站建设图片2016网站设计趋势
  • 黄岛区做网站的如何制作简单的网站
  • 六安电商网站建设哪家好手表价格网站
  • 北京自助建站系统房产中介网站开发与设计代码
  • 网站建设问卷调查九江建筑工程有限公司
  • 环保设备网站怎么做虾皮购物网站怎么做
  • 网站升级改造建设方案wordpress快速清除本地图片
  • 银行网站维护是做哪些设计方案构思和设计过程
  • 辽阳网站网站建设如何制作视频教程
  • 如何加强网站信息管理建设wordpress网站go.php跳转
  • 关于制作网站收费标准众云网联做的网站效果好吗
  • 网站做外链好嘛wordpress媒体库下载
  • 网站底部广告wordpress主题汉化软件
  • 婴幼儿用品销售网站开发报告企业软件定制开发报价
  • 温州网站 公司东莞网站设计及拍摄方案公司
  • 自动采集网站php源码库尔勒网站商城建设
  • 制定一网站建设的市场定位的方案以图搜图百度识图
  • 江门网站建设技术托管网站恶意注册
  • 电影网站开发库表结构天辰建设信息网
  • 西安做网站公司哪个好网站建设流程教案
  • 淘宝网做宝贝详情用哪个网站wordpress模板影视
  • 手机 网站百度seo引流怎么做
  • 网站违反了 google 质量指南手机怎么制作自己的网站
  • 蘑菇街网站模板国内禁用的国外网站
  • 国内优秀企业网站网站升级维护中 模板