如果有一个字符串只有空格和字符,如何找到出现次数最多的单词?我的想法是将字符串按照空格切割,然后就会获得所有单词组成的数组,然后在创建一个int类型的数组,,用来记录每一个单词在字符串中出现的次数,例如例子中的"drink your drink don't drink others drink",数组num循环一边之后的数据是[4,1,3,1,2,1,1],分别表示NSArray 的array1中的单词[drink,your,drink,don't,drink,others,drink]自己及其出现在后面的次数(虽然有drink是重复的,但是不用担心,我们目标只是找出现次数最多的单词,也就是只需要找到num数组中数据最大的值及其下标即可,因为在array1中单词的循序与num数组中的数据是一一对应的)
NSString * string=@"drink your drink don't drink others drink";
NSArray * array1=[string componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@" "]];
// NSLog(@"%@",array1);
NSMutableArray * ma=[NSMutableArray arrayWithArray:array1];
// NSLog(@"%@",ma);
int num[20];
for(int i=0;i<20;i++){
num[i]=1;
}
int index=0;
for(int i=0;i<[ma count];i++){
for(int j=i+1;j<[ma count];j++){
if([ma[i] isEqualToString:ma[j]]){
num[index]++;
}
}
index++;
}
int max=-1;
int tmp1=0;
for(int i=0;i<index;i++){
if(max<num[i]){
max=num[i];
tmp1=i;
}
}
NSLog(@"%@%d",array1[tmp1],max);