算法练习-回型矩阵
来源:互联网 发布:温度监控软件 贴吧 编辑:程序博客网 时间:2024/06/15 05:38
package Code1;public class Code1_8回型矩阵 { static int length=8; static int value=1; static int[][] snake=new int[length][length]; static Direction lastDirection=Direction.Right; static enum Direction{ Right,Down,Left,Up; } public static void main(String[] args) { initialArray(); print(snake); } private static void initialArray() { int row=0,col=0; for(int c=0;c<length*length;c++){ snake[row][col]=value; lastDirection=findDirection(row,col); switch(lastDirection){ case Right: col++; break; case Down: row++; break; case Left: col--; break; case Up: row--; break; default: System.out.println("error"); } value++; } } private static Direction findDirection(int row, int col) { Direction direction =lastDirection; switch(direction){ case Right:{ if((col==length-1)||(snake[row][col+1]!=0)){ direction=direction.Down; } break; } case Down:{ if((row==length-1)|| snake[row+1][col]!=0){ direction=direction.Left; } break; } case Left:{ if((col==0)||snake[row][col-1]!=0){ direction=direction.Up; } break; } case Up:{ if(snake[row-1][col]!=0){ direction=direction.Right; } break; } } return direction; } private static void print(int[][] ary) { for(int i=0;i<ary.length;i++){ for(int j=0;j<ary.length;j++){ System.out.printf("%-3d",ary[i][j]); } System.out.println(); } }}
运行结果:
阅读全文
0 0
- 算法练习-回型矩阵
- 算法练习:矩阵清零
- 【算法练习】蛇形矩阵
- 算法练习六 动态规划 矩阵相乘
- 蓝桥杯练习: 算法训练 矩阵乘法
- 蓝桥杯练习: 算法训练 关联矩阵
- 矩阵练习
- 算法导论15.2矩阵链乘法 练习总结
- 剑指offer-算法题练习:part21 顺时针打印矩阵
- 蓝桥杯练习系统算法训练——矩阵之和
- 算法题练习系列之(二):矩阵最大值
- 算法-蛇型矩阵
- 矩阵练习3
- 基础练习 矩阵乘法
- 基础练习 矩阵乘法
- 基础练习 矩阵乘法
- 基础练习 矩阵乘法
- 基础练习 矩阵乘法
- 操作系统(0)
- 如果做双击按键功能
- NV_INIT和NV_RESTORE的区别
- 关于Eclipse 64 bit里SVN报Subclipse talks to Subversion via a Java API that requires access to native错
- GET,POST——简述小全
- 算法练习-回型矩阵
- ButterKnife的使用以及自定义注解实例化控件
- Java生产者消费者问题
- 装饰模式
- java 匿名对象
- 组态王与stm32通讯笔录-组态王报文分析
- DataBinding笔记一
- 使用 Docker 搭建 Tomcat 运行环境
- Pixel Deconvolutional Network读书笔记