gpt4 book ai didi

java对数组进行排序,其位置很重要

转载 作者:行者123 更新时间:2023-12-02 07:11:13 27 4
gpt4 key购买 nike

假设我有这个数组

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];
}

我试过了,这是错误的

最佳答案

Java 是面向对象的,所以...

我们来上一个类,名字是LetterFrequencyLetterFrequency 有 2 个属性: 1)字符型 2) 出现整数

您需要按 LetterFrequency 对象的“出现次数”属性对它们进行排序。为此,请使 LetterFreqancy 实现 Comparable 并相应地定义方法compareTo()。

然后将所有 LetterFrequency 对象放入 List 中并使用该方法

Lists.sort(yourList)

关于java对数组进行排序,其位置很重要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15505280/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com