源代码

可能是最简单的实现代码了
参数命名可能有所不足,望不吝赐教

package spiralarray;import java.util.*;public class SpiralArray {public static void main(String[] args) {Scanner keyboard = new Scanner(System.in);int n = keyboard.nextInt();//the side length of squareint l = n / 2;//the layers of squareint v = 0;//next layer starting valueint[] a = new int[n * n];//stored arrayif (n % 2 == 1) a[l * n + l] = n * n;//if exist the 1*1 squarefor (int i = 0; i < l; i++) {for (int j = 0; j < n - 2 * i - 1; j++) {a[n * i + i + j] = v + j + 1;//upper lefta[n * i + n * j + n - i - 1] = v + j + n - 2 * i;//upper righta[n * n - 1 - (n * i + i + j)] = v + j + 2 * n - 4 * i - 1;//lower righta[n * n - 1 - (n * i + n * j + n - i - 1)] = v + j + 3 * n - 6 * i - 2;//lower left}v += 4 * (n - 2 * i - 1);}for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {System.out.print(a[n * i + j] + (j == n - 1 ? "\n" : " "));}}}
}

运行

5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
10
1 2 3 4 5 6 7 8 9 10
36 37 38 39 40 41 42 43 44 11
35 64 65 66 67 68 69 70 45 12
34 63 84 85 86 87 88 71 46 13
33 62 83 96 97 98 89 72 47 14
32 61 82 95 100 99 90 73 48 15
31 60 81 94 93 92 91 74 49 16
30 59 80 79 78 77 76 75 50 17
29 58 57 56 55 54 53 52 51 18
28 27 26 25 24 23 22 21 20 19

Java实现一元数组打印螺旋矩阵相关推荐

  1. Python实现打印螺旋矩阵功能的方法

    Python实现打印螺旋矩阵功能的方法 本文实例讲述了Python实现打印螺旋矩阵功能的方法.分享给大家供大家参考,具体如下: 一.问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: ...

  2. 随想录一期 day2 [977.有序数组的平方|209. 长度最小的子数组|59.螺旋矩阵II(剥洋葱)]

    977.有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序. 思路 递增数组,平方后最大值一定在最左侧或者最右侧,可想到– ...

  3. 977. 有序数组的平方|209. 长度最小的子数组|59. 螺旋矩阵 II

    977. 有序数组的平方 原理 准备:双指针.一个空数组.双指针指向的两个元素作比较,更大的数平方之后,放入空数组的尾部空位. 图解 其实这题的指针有两种方法: 从两边向中间靠拢,得到的是由大到小的值 ...

  4. python螺旋输出矩阵_飘逸的python - 打印螺旋矩阵

    算法分析: 螺旋矩阵用二维数组表示,坐标(x,y),即(x轴坐标,y轴坐标) 顺时针螺旋的方向是->右,下,左,上,用数值表示即是x加1格(1,0),y加1格(0,1),x减1格(-1,0),y ...

  5. c++数据结构与算法(6)——数组(螺旋矩阵)

    原来很怕的一种题型,但是面试的时候又经常碰到,今天算是硬啃下来了 典型题目 54. 螺旋矩阵 59. 螺旋矩阵 II 885. 螺旋矩阵 III ------------ 54. 螺旋矩阵 按照遍历方 ...

  6. python螺旋打印二维数组_Python使用迭代器打印螺旋矩阵的思路及代码示例

    import itertools def spiral(n,m): _status = itertools.cycle(['right','down','left','up'])#用于状态周期性的切换 ...

  7. 1105 Spiral Matrix 给定数组向螺旋矩阵中填入数据

    两个测试用例超时,可直接跳转到 目录 超时点1 超时点2 ​​​​​​​ 要做的事情是,将数组按照非升序/降序,顺时针从外围到内部一圈一圈地把数据填到矩阵中,并打印出来.也就是将数组排好序后,将矩阵的 ...

  8. 数组|leetcode59.螺旋矩阵II

    给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix . 示例 1: 输入:n = 3 输出:[[1,2,3],[8,9,4] ...

  9. Java中高维数组或高维矩阵构建及运算

    问题背景 在做实际的商务问题时,经常遇到很高维度的矩阵,针对这个问题,经常会报内存溢出. 最近找到一个fastutil包,可以高效的处理高维数组.下面主要介绍其使用方法. 创建一个二维数组 packa ...

最新文章

  1. 知识图谱query与文本相似性如何处理
  2. 英雄联盟显示服务器连接异常 即将退出,win7系统玩英雄联盟提示服务器连接异常即将退出...
  3. 在Android中实现监听 返回键,主键,菜单键
  4. Ubuntu 16.04下Markdown编辑器Haroopad
  5. Spring事务管理介绍
  6. PySpider问题记录http599
  7. 移动互联消亡者及原因分析
  8. JQuery技巧总结【转】
  9. 数据结构和算法详解(三)——递归、排序、散列表
  10. 腾讯云 mysql 连接_远程连接腾讯云的mysql
  11. 2021美亚团队赛复盘
  12. 什么叫DMZ区?DMZ区它有什么作用?
  13. Ubuntu 如何安装 微信?实测
  14. 饥荒为啥显示专用服务器,饥荒服务器和专用服务器有什么区别 | 手游网游页游攻略大全...
  15. Mac 终端——常用命令语
  16. 微信小程序开发之数据存储 参数传递 数据缓存
  17. C语言输出 1到20 的阶乘之和
  18. 7-3 学习打卡(12.26)
  19. SQL语句之DQL--基础查询
  20. 如何实现安全密码历史记录

热门文章

  1. java 控制 区域投屏,Scrcpy投屏原理浅析-设备控制篇
  2. 计算机中丢失api-ms-win-crt-runtime-l1-1-0.dll的疑难杂症解决方法
  3. 《蒋炳楠:ICP备案只要用心,通过其实很简单!》
  4. 用Flutter实现小Q聊天机器人(四)
  5. Could not find wsdl:binding operation info for web method sayHi
  6. 一直寻求的,灵魂__摘自复旦大学陈果教授大学生活导论
  7. Qtdesinger 去除 Text Browser边框
  8. 前端 HTML+CSS实战篇(云道首页)
  9. 模拟衍射光束分束器元件
  10. Error:KafkaStorageException打开的文件过多