`
wolf_awp
  • 浏览: 53938 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java螺旋矩阵

阅读更多
public class Sequence {

	public static void main(String[] args) {

		int n = 5;

		// 0:向右,1:向下,2:向左,3:向上
		int direction = 0;

		// 行,列
		int row = 0, col = 0;

		int num = 0;

		int[] array = new int[n * n];
		while (array[row * n + col] == 0) {
			num++;
			array[row * n + col] = num;
			switch (direction) {
			case 0:
				col++;
				break;
			case 1:
				row++;
				break;
			case 2:
				col--;
				break;
			case 3:
				row--;
				break;
			}
			if (row == n || col == n || row == -1 || col == -1
					|| array[row * n + col] != 0) {
				direction++;
				if (direction == 4)
					direction = 0;
				switch (direction) {
				case 0:
					row++;
					col++;
					break;
				case 1:
					row++;
					col--;
					break;
				case 2:
					row--;
					col--;
					break;
				case 3:
					row--;
					col++;
					break;
				}
			}
		}

		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				System.out.printf("%-3s", array[i * n + j]);
			}
			System.out.println();
		}
	}
}

输出结果:
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  
1
9
分享到:
评论

相关推荐

    JAVA实现螺旋矩阵

    用JAVA实现螺旋矩阵的编写,这是一种比较容易让人接受的方法

    Java:螺旋矩阵

    编程输出螺旋方阵. 螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 要求:从键盘输入螺旋方阵的阶数

    Java编程实现打印螺旋矩阵实例代码

    主要介绍了Java编程实现打印螺旋矩阵实例代码,具有一定借鉴价值,需要的朋友可以参考下。

    Java 第十一届 蓝桥杯 省模拟赛 螺旋矩阵

    螺旋矩阵 题目 问题描述 对于一个 n 行 m 列的表格,我们可以使用螺旋的方式给表格依次填上正整数,我们称填好的表格为一个螺旋矩阵。  例如,一个 4 行 5 列的螺旋矩阵如下:  1 2 3 4 5  14 15 16 17 6  13 20...

    Java实现的打印螺旋矩阵算法示例

    主要介绍了Java实现的打印螺旋矩阵算法,结合完整实例形式详细分析了java打印螺旋矩阵的算法原理与实现技巧,需要的朋友可以参考下

    螺旋矩阵 java 初学者可看懂

    螺旋矩阵 java 初学者可看懂 。。。。。。。。

    java编写的螺旋矩阵很经典

    java编写的螺旋矩阵很经典,赶紧来下载吧。

    螺旋矩阵 (M*N) 由外向内输入 完整注释

    实现由外向内螺旋矩阵的操作 矩阵大小为M*N 实现方法为递归调用 有完整注释,看起来比较轻松

    Java实现输出回环数(螺旋矩阵)的方法示例

    主要介绍了Java实现输出回环数(螺旋矩阵)的方法,涉及java针对数组的遍历、判断、输出等相关操作技巧,需要的朋友可以参考下

    java书写螺旋矩阵

    将螺旋分别做成了不同块划分来写的,分别使用4个三角形的形状的数字 组成一个正方形,没个 循环控制一个三角形的数字

    Java实现螺旋矩阵的示例

    主要介绍了Java实现螺旋矩阵的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    java 螺旋输出矩阵代码

    要求: 由用户输入任意一方阵行(列)数,要求成螺旋形输出,例如 3*3矩阵 1 2 3 8 9 4 7 6 5 输出后的结果应为:1 2 3 4 5 6 7 8 9

    内螺旋矩阵算法

    以面向对象的思想及普通算法各写了这个算法,有源代码,可以比较两种方法的区别。这样更容易了解JAVA面向对象思想的优点与便捷。

    Java:编程实现螺旋矩阵

    编程输出螺旋方阵. 螺旋方阵是指将从1开始的自然数由方阵的最外圈向内螺旋方式地顺序排列。如4阶的螺旋方阵形式如下: 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 要求:从键盘输入螺旋方阵的阶数

    spiral-matrix:螺旋矩阵

    螺旋矩阵螺旋矩阵项目介绍从矩阵的中间开始,按顺时针方向向右遍历的矩阵称为螺旋矩阵。 例如,一个矩阵以数字 1 开始,顺时针方向向右移动,形成一个 5 x 5 的螺旋,如下所示: 21 22 23 24 25 20 7 8 9 10 19 6 1 ...

    输出任意n*m阶的螺旋矩阵

    如输入n=3,m=4,则输出 1 2 3 4 10 11 12 5 9 8 7 6 输入n=4,m=5,则输出 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8 输入n=4,m=4,则输出 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7

    螺旋矩阵 java

    java编写的螺旋举证的程序,用了几个方向变量来控制遍历复制的方向

    TanaStudy#Java-Study#Q54螺旋矩阵1

    示例 1:输出:[1,2,3,6,9,8,7,4,5]示例 2:输出:[1,2,3,4,8,12,11,10,9,5,6,7]提示:Related Topics

    Java实现n阶螺旋方阵

    Java实现n阶螺旋方阵,键盘输入阶值。。。。。。

    【Leetcode刷题笔记02】977.有序数组的平方 209.长度最小的子数组 59.螺旋矩阵II.md

    螺旋矩阵II,记录了详细的题目解析思路以及Java语言的参考代码。 适合人群:学习算法和数据结构的程序员或学生,想要通过LeetCode来提高编程能力的人。 能学到什么:掌握双指针技巧在数组和滑动窗口问题中的应用;了解...

Global site tag (gtag.js) - Google Analytics