CG在ETP基地的培训也有一段时间了,这期间也有几次考试,下面将要分享的是最近一次笔试的考试题目,该题算是JAVA考试的附加题,要求也很简单,下面是原题
二维数组的长度和初始值均由输入确定,如何求出此数组的全排列组合,
即:int a[X][X] = { {X,X,X},...}如下
int a[3][3] = { {1,2,3},{4,5,6},{7,8,9}}
或者是 int a[4][4] = { {1,2,3,4},{4,5,6,7},{7,8,9,10}}
计算a[3][3]的结果如下:
147,148,149
157,158,159
167,168,169
247,248,249
............
解决思路:
根据本题的算法复杂度可知3*3的二维数组可以有 3^3 = 27中输出结果,而利用这个结果进行不同的%和/运算,可以得到以下的周期变化的规律
//总输出结果数
int it = (int) Math.pow((a[0].length),(a.length)) -1;
//产生0-a[0].length周期为1变化规律
//以3为例:210210210210
二维数组的长度和初始值均由输入确定,如何求出此数组的全排列组合,
即:int a[X][X] = { {X,X,X},...}如下
int a[3][3] = { {1,2,3},{4,5,6},{7,8,9}}
或者是 int a[4][4] = { {1,2,3,4},{4,5,6,7},{7,8,9,10}}
计算a[3][3]的结果如下:
147,148,149
157,158,159
167,168,169
247,248,249
............
解决思路:
根据本题的算法复杂度可知3*3的二维数组可以有 3^3 = 27中输出结果,而利用这个结果进行不同的%和/运算,可以得到以下的周期变化的规律
//总输出结果数
int it = (int) Math.pow((a[0].length),(a.length)) -1;
//产生0-a[0].length周期为1变化规律
//以3为例:210210210210