有一组数组 想得到里面最大值的个数。实现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
我想算里面到底有几个最大值并输出。 如果这个不行还要什么其他的办法吗?
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);方法比较笨,但可行