给你10分钟时间,根据上排给出十个数,在其下排填出对应的十个数
要求下排每个数都是先前上排那十个数在下排出现的次数。
上排的十个数如下:
【0,1,2,3,4,5,6,7,8,9】
举一个例子,
数值: 0,1,2,3,4,5,6,7,8,9
分配: 6,2,1,0,0,0,1,0,0,0
0在下排出现了6次,1在下排出现了2次,
2在下排出现了1次,3在下排出现了0次....
要求下排每个数都是先前上排那十个数在下排出现的次数。
上排的十个数如下:
【0,1,2,3,4,5,6,7,8,9】
举一个例子,
数值: 0,1,2,3,4,5,6,7,8,9
分配: 6,2,1,0,0,0,1,0,0,0
0在下排出现了6次,1在下排出现了2次,
2在下排出现了1次,3在下排出现了0次....
以此类推..
package com.itcast.demo.random;
public class MathDemo {
public static final int len=10;
public static void main(String[] args) {
// TODO Auto-generated method stub
run();
}
private static void run() {
// TODO Auto-generated method stub
int pre[]={0,1,2,3,4,5,6,7,8,9};
int [] nxt=new int[len];
boolean found =false;
while(!found){
found=true;
for(int i=0;i<len;++i){
int cnt=getCount(pre[i],nxt);
if(nxt[i]!=cnt){
nxt[i]=cnt;
found=false;
}
}
for(int i=0;i<len;i++){
System.out.print(nxt[i]);
}
System.out.println();
}
}
private static int getCount(int k,int nxt[]) {
int cnt=0;
for(int i=0;i<len;i++)
if (nxt[i]==k)cnt++;
return cnt;
}
}