面试经验(三)---NA(美国国家仪器)

【机试部分】
一、输出蛇形矩阵
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();
		    }  
	}
}
【面试部分】
一、英文自我介绍
    凉了,四级都没过,介绍什么。 大哭
二、设计一个纸牌游戏
    蜘蛛纸牌了解一下,关键是思想,代码肯定是写不出来啦!

猜你喜欢

转载自blog.csdn.net/m0_37570217/article/details/80555459