美文网首页
计出现次数 TOP1的值

计出现次数 TOP1的值

作者: 小白条条 | 来源:发表于2020-09-22 13:09 被阅读0次

/**
现有数据:[{tagName: 'p'}, {tagName: 'div'}, {tagName: 'p'}, ....],
请统计出现次数 TOP 1 的 tagName。
*/

/**
 *统计出现次数最多的tagName
 *可能出现多个,所以返回值是个数组
 */
- (NSArray *)topCountWithArray:(NSArray *)array{
    NSMutableDictionary *newDic = [NSMutableDictionary dictionaryWithCapacity:array.count];
    //1.[p:3]
    for (NSDictionary *dic in array){
        //1.先根据key取出value ,让value 作为新字典的key
        NSString *str = dic[@"tagName"];
        NSNumber *countValue = [newDic objectForKey:str];
        //2.加1
        [newDic setObject:@([countValue intValue]+1) forKey:str];
    }
    
    int max = 0;//最大的数值肯定是一个数,{}可能对应多个
    for (NSNumber *value in [newDic allValues]) {
        if (max < [value intValue]) {
            max = [value intValue];
        }
    }
    return [newDic allKeysForObject:@(max)];
}

调用

 NSArray *array = @[@{@"tagName": @"p"}, @{@"tagName": @"div"}, @{@"tagName": @"p"}];
 NSLog(@"%@",[self topCountWithArray:array]);

结果

(p)

相关文章

网友评论

      本文标题:计出现次数 TOP1的值

      本文链接:https://www.haomeiwen.com/subject/hkrwyktx.html