今天面试遇到这道题,算法,写了一个自以为很好的,结果发现过于繁琐,直接导致笔试挂了。晚上回来找个算法看看。
public gent(int length){
char[] a=new char[length];
int [] flag={0,0,0};
int size=0;
while(fllag[0]==0||flag[1]==0||flag[2]==0||size<length){
int i=(int)(Math.random()*3%3);
if(i=0){
a[size]=(char)("0"+Math.random()*10);
}
else if(i=1){
a[size]=(char)("A"+Math.random()*26);
}else{
a[size]=(char)("a"+Math.random()*26);
}
flag[i]=1;
i++;
}
}