当前位置: 首页 > 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.zhongyajixie.com/news/56101.html

相关文章:

  • 网页平面设计教程搜索引擎优化的方法与技巧
  • 重庆网站定制公司十大搜索引擎神器
  • 有个网站做字的图片南宁百度seo价格
  • 木门行业做网站有什么好处360建站系统
  • 重庆网站建设网搜科技百度用户服务中心客服电话
  • java ee只是做网站seo企业站收录
  • 武汉动力无限做的网站怎么样网站注册信息查询
  • 福田网站制作报价网站访问量查询工具
  • 国外有个专门做病毒营销网站青岛网站权重提升
  • wordpress 目录函数山东搜索引擎优化
  • 做网站哪个地方需要钱关键词歌曲
  • wordpress mp4 插件下载泉州seo托管
  • 个人网站可以备案吗重大新闻事件2023
  • 建设一个网站如何软件网站优化公司
  • 我想成立公司怎么办理seo搜索引擎优化实训总结
  • 政府网站建设的国际今天重大新闻
  • 网站上怎样做超链接驻马店网站seo
  • 如何建造网站视频教程seo全国最好的公司
  • 网页制作app下载seo教程 百度网盘
  • erp软件公司有哪些白山seo
  • 哈尔滨座做网站的官方百度app下载
  • 网站开发工程师和软件工程搜索引擎算法
  • 网站页面设计模板图片网站关键词快速排名服务
  • 展示型网站源码免费发布信息平台有哪些
  • 泉州最好的网站建设公司seo关键词seo排名公司
  • 做公务员题目的网站腾讯会议多少钱一个月
  • 网页设计源代码css案例seo公司运营
  • 少主网络建站深圳建站公司
  • 网站建设用户需求表推广网站推广
  • 有没有免费开网店的软件seo是做什么工作的