【Java笔试题】蛇形矩阵
来源:互联网 发布:金数据官网 编辑:程序博客网 时间:2024/06/05 17:17
1、题目
自定义n,输出n阶蛇形矩阵。
2、Java代码
public class SnakeMatrix { public static void main(String[] args) { snake(7); //n=7 } public static int snake(int n) { if (n <= 0) { System.out.println("error"); return 0; } else { int value = 1; int i = 0, j = 0; int[][] array = new int[n][n]; boolean[][] flag = new boolean[n][n]; int t = n * n; while (value <= t) { if (i == 0 && j == 0) { array[i][j] = value++; flag[i][j] = true; i++; } if (j == 0 && i > 0 && i < n - 1) { if (flag[i - 1][j + 1]) { array[++i][j] = value++; flag[i][j] = true; } while (i != 0) { array[--i][++j] = value++; flag[i][j] = true; } } if (i == 0 && j > 0 && j < n - 1) { if (flag[i + 1][j - 1]) { array[i][++j] = value++; flag[i][j] = true; } while (j != 0) { array[++i][--j] = value++; flag[i][j] = true; } } if (i == n - 1 && j >= 0 && j < n - 1) { if (flag[i - 1][j + 1]) { array[i][++j] = value++; flag[i][j] = true; } while (j != n - 1) { array[--i][++j] = value++; flag[i][j] = true; } } if (j == n - 1 && i >= 0 && i < n - 1) { if (flag[i + 1][j - 1]) { array[++i][j] = value++; flag[i][j] = true; } while (i != n - 1) { array[++i][--j] = value++; flag[i][j] = true; } } } for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { System.out.print(array[i][j] + "/t"); } System.out.println(); } return 1; } }}
1 0
- 【Java笔试题】蛇形矩阵
- 腾讯笔试题:蛇形矩阵
- 腾讯笔试题,蛇形矩阵的Java实现
- 腾讯笔试 蛇形矩阵
- 【JAVA】腾讯研发类在线笔试题之蛇形矩阵实现
- 2014年小米笔试题 蛇形矩阵打印
- [2016腾讯暑期实习在线笔试题][蛇形矩阵]
- 腾讯2016实习生笔试编程题 打印蛇形矩阵
- 网易2016暑期实习笔试题--蛇形矩阵
- Java上机题:输出蛇形矩阵
- Java打印蛇形矩阵
- 蛇形矩阵问题 java
- 蛇形矩阵(java)
- 蛇形矩阵Java实现
- 蛇形矩阵 java实现
- 蛇形矩阵 Java实现
- java 蛇形矩阵
- Java 输出蛇形矩阵
- Find them, Catch them(并查集的变形)
- 【Java笔试题】螺旋矩阵
- Spring基础:快速入门spring(7):bean的lifecyle
- 【u250】manhattan
- 颜色的原理,三基色原理以及HLS(色相、亮度、饱和度)原理
- 【Java笔试题】蛇形矩阵
- Android开发—电商系列】(二):仿淘宝商品属性标签页
- Android选项卡动态滑动效果
- 阿里云搭建SVN服务器
- 知识库--parsing headers
- Ants(No.1852)
- 真实项目运用-RecyclerView封装
- 位运算实例3
- Android RecyclerView添加头部和尾部