面試經驗(三)---NA(美國國家儀器)
阿新 • • 發佈:2019-01-27
【機試部分】一、輸出蛇形矩陣
【面試部分】一、英文自我介紹 涼了,四級都沒過,介紹什麼。二、設計一個紙牌遊戲 蜘蛛紙牌瞭解一下,關鍵是思想,程式碼肯定是寫不出來啦!import java.util.Scanner; /** 蛇形(回形)矩陣的實現: 解題思路: 整體思路:每一圈的數值都是連續的,所以我們一圈一圈的賦值 對一圈的初始化: 1:設定(p,p)每一圈最左上角的座標 (q,q)每一圈最右下角的座標 2:對每一圈分四部(上,右,下,左)分別初始化 為了使這四步對稱(賦值個數相同),按下圖這樣初始化 1的位置初始化--->上 2的位置初始化--->右 3的位置初始化--->下 4的位置初始化--->左 1 1 1 2 4 2 4 2 4 3 3 3 */ public class testDemo { public static void main(String[] args) { System.out.println("請輸入正整數:N="); Scanner scanner = new Scanner(System.in); int N = scanner.nextInt(); printArr(huixing(N)); } public static int[][] huixing(int n) { int[][] arr = new int[n][n]; int p = 0, q = n - 1, num = 1, i = 0; while (p < q) { for (i = p; i < q; i++) { arr[p][i] = num; num++; } for (i = p; i < q; i++) { arr[i][q] = num; num++; } for (i = q; i > p; i--) { arr[q][i] = num; num++; } for (i = q; i > p; i--) { arr[i][p] = num; num++; } p++; q--; } if (p == q) { arr[p][q] = num; } return arr; } public static void printArr(int [][] arr){ for(int i=0;i<arr.length;i++) { for(int j=0;j<arr.length;j++) { System.out.print(arr[i][j]+"\t"); } System.out.println(); } } }