【Java笔试题】螺旋矩阵
来源:互联网 发布:金数据官网 编辑:程序博客网 时间:2024/06/02 05:16
1、题目
自定义n,输出n阶螺旋矩阵。
2、Java代码
public class SpiralMatrix { public static void main(String[] args) { spiral(6); //n=6 } public static int spiral(int n) { if (n <= 0) { System.out.println("error"); return 0; } else { int direction_index = 0; boolean[][] flag = new boolean[n][n]; int[][] array = new int[n][n]; int i = 0, j = 0; int value = 1; int s = 0; int t = n * n; while (s < t) { if (direction_index == 0 && !flag[i][j]) { flag[i][j] = true; s++; array[i][j] = value++; if (s == t) break; if (j == n - 1 || flag[i][j + 1]) { direction_index = 1; i++; } else { j++; } } if (direction_index == 1 && !flag[i][j]) { flag[i][j] = true; s++; array[i][j] = value++; if (i == n - 1 || flag[i + 1][j]) { direction_index = 2; j--; } else { i++; } } if (direction_index == 2 && !flag[i][j]) { flag[i][j] = true; s++; array[i][j] = value++; if (j == 0 || flag[i][j - 1]) { direction_index = 3; i--; } else { j--; } } if (direction_index == 3 && !flag[i][j]) { flag[i][j] = true; s++; array[i][j] = value++; if (i == 0 || flag[i - 1][j]) { direction_index = 0; j++; } else { i--; } } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { System.out.print(array[i][j] + " "); } System.out.println(); } return 1; } }}
1 0
- 【Java笔试题】螺旋矩阵
- 腾讯2016笔试题(螺旋矩阵)
- [笔试] 打印螺旋矩阵
- 笔试题里螺旋矩阵的C++简单实现
- java 螺旋数据矩阵
- java 实现螺旋矩阵
- java实现螺旋矩阵
- 螺旋矩阵(java)
- java-----螺旋矩阵
- java螺旋矩阵
- Java螺旋矩阵算法
- java编写螺旋矩阵
- 螺旋矩阵的Java实现
- 打印螺旋举矩阵-java
- Java程序练习-螺旋矩阵
- 螺旋矩阵算法java实现
- 螺旋矩阵算法java实现
- 螺旋矩阵算法 java实现
- 彻底解决Spring MVC 中文乱码 问题
- 自定义Dialog实现从下往上出现(内容省市县三级联动)
- 可变计数器
- 正则判断是否为手机号码
- Find them, Catch them(并查集的变形)
- 【Java笔试题】螺旋矩阵
- Spring基础:快速入门spring(7):bean的lifecyle
- 【u250】manhattan
- 颜色的原理,三基色原理以及HLS(色相、亮度、饱和度)原理
- 【Java笔试题】蛇形矩阵
- Android开发—电商系列】(二):仿淘宝商品属性标签页
- Android选项卡动态滑动效果
- 阿里云搭建SVN服务器
- 知识库--parsing headers