有一组数组 想得到里面最大值的个数。实现nslog之后显示只有一个最大的值NSArray *sortArray = initWithObjects:@"1",@"3",@"4",@"7",@"8",@"2",@"6",@"5",@"13",@"15",@"12",@"200",@"28",@"200",@"200",nil];
NSNumber * max = [sortArray valueForKeyPath:@"@max.floatValue"];
NSLog(@"-------%@",max);nslog 结果是-------200
我想算里面到底有几个最大值并输出。 如果这个不行还要什么其他的办法吗?
NSNumber * max = [sortArray valueForKeyPath:@"@max.floatValue"];
NSLog(@"-------%@",max);nslog 结果是-------200
我想算里面到底有几个最大值并输出。 如果这个不行还要什么其他的办法吗?
解决方案 »
- [iOS进阶修炼]深入浅出Cocoa 系列
- mac dmg制作
- 手机端开发后退键返回问题 求大神
- 如何单独创建一个sqlite数据再使用
- I如何使label里的内容字体大小自适应label(是改变字体大小~~~)
- 《这样从零开始iOS的学习好不好》
- 想做一个加速平移的动画,非游戏,想知道加速怎么实现?
- NSFetchedResultsController在使用NSPredicate时候的一点问题
- 有一个Idea
- 新人求教 过几天竞赛 要求我做的框架一直出不来效果 规定的尺寸大小仿佛并没有效果 向大佬请教
- UITableViewCel里面图片太多,滑动的时候有卡顿,该怎么处理图片
- Objective-C有了ARC之后不就等于智能指针了嘛?
sortArray = [sortArray sortedArrayUsingComparator:^NSComparisonResult(NSString* left, NSString* right) {
return [left integerValue] < [right integerValue] ? NSOrderedDescending : NSOrderedAscending;
}];
NSInteger maxVal = [sortArray[0] integerValue];
__block NSInteger maxCount = 0;
[sortArray enumerateObjectsUsingBlock:^(NSString* value, NSUInteger idx, BOOL *stop) {
if (maxVal==[value integerValue]) {
maxCount++;
} else {
*stop = YES;
}
}]; NSLog(@"max count: %d", maxCount);方法比较笨,但可行