您的位置:首页 > 其它

已知字符串中的单词间由单个空格隔开,实现函数,返回字符串s中出现次数最多的单词与次数组成的字符串

2015-08-07 16:17 351 查看
/*

 传入:@"drink your drink don't drink others drink"

 返回:@"drink4"

 */

/*

 思路如下:

 */

-(NSString *)mostWordInString:(NSString *)s{

    NSMutableArray *muArr = [[NSMutableArray alloc]init];

    muArr = (NSMutableArray *)[s componentsSeparatedByString:@" " ];

   

    // NSLog(@"%@",muArr);

   

    int max=0;//最多次数

    int count = 0;//出现的次数

    int maxIdex = 0;//出现次数最多的下标

//第一个循环用来取出数组的每一个元素,和数组的每一个元素比较

    for (int i = 0; i < muArr.count; i++) {

        count = 0;//每一次出现次数先置为0

        

        //把第i个字符取出,方便下面的比较

        NSString * Str = [NSString stringWithFormat:@"%@",muArr[i]];

       

        //从数组的第一个字符串开始比较,逐渐和数组的每个元素都比较一次

        //这个循环主要是记录元素出现的次数和出现最多次的元素的下标

        for (int j = 0; j < muArr.count; j++) {

            //如果相等的话计数器加一

            if ([Str compare:[muArr objectAtIndex:j]]==NSOrderedSame) {

                count++;

            }

        }

        

        //每一循环完毕会获得元素出现的次数,如果比已经记录的最多次还要大就把此值赋给记录最多次的变量,同时把下表记录下来

            if (count > max ) {

                max = count;

                maxIdex = i;

            }

    }

    NSString *ret = [NSString stringWithFormat:@"%@%d",muArr[maxIdex],max];

    return ret ;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: