假设我有这个数组
int [] array= new int[26];
它有 26 个位置,因为位置 0 是 'a' ,位置 1'b' ... 位置 25 是 'z' 所以在每个位置我都有一个 int 数字所以
if in position array[0]=5 it means i have 5 'a'
if in position array[1]=6 it means i have 6'b'
if in position array[0]=0 it means that i do not have the 'a' letter
我想要的是在每个循环中找到 2 个最小频率和两个最小频率的字母
for(int i=0;i<array.length;i++)
if(array[i]==0)
continue;
else{
cmin1=(char)('a'+i);
posi=i;
min1=array[posi] ;
break;
}
for(int j=posi+1;j<array.length;j++){
if(array[j]==0)
continue;
else if(array[j]<=min1){
posj=posi;
posi=j;
cmin2=cmin1;
cmin1=(char)(j+'a');
min2=min1;
min1=array[j];
}
我试过这个是错误的