Java回形数问题
解決回形數問題
我的思路是類似貪吃蛇的路徑,首先構建一個二維int型數組存放矩陣,所有元素初始值為0,將二維數組看作坐標系,從(0,0)的位置出發,按照→↓←↑的先后順序進行判斷。
遇到的問題
以五階矩陣為例,運行到圖中12數字處會優先向右走,所以在→處加了個優先級,在同時滿足↑和→時優先向↑走。
運行結果
代碼
public class HuiXing {public static void main(String[] args) {// TODO Auto-generated method stubint vol = 15;//矩陣階數int[][] arr = new int[vol][vol];int x = 0;int y = 0;//初始坐標int num = 1;while(arr[x][y] != (vol * vol)) {arr[x][y] = num;if(y != vol - 1 && arr[x][y + 1] == 0) {//→if(x > 0 && arr[x - 1][y]==0) {//優先向↑走x--;}else {y++;}}else if(x != vol - 1 && arr[x + 1][y] == 0) {//↓x++;}else if(y != 0 && arr[x][y - 1] == 0) {//←y--;}else if(arr[x - 1][y] == 0){//↑x--;}num++;}for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {System.out.print(arr[i][j] + "\t");}System.out.println();}} }總結
- 上一篇: 认知天性-读后感
- 下一篇: 如何设置无需fn直接按F1~F10(HP