Bre*_*ett 1 iphone objective-c ios4
我在导航时遇到了一些麻烦NSArray.
我的阵列:
Element[0] = "ElementA"
Element[1] = "ElementA"
Element[2] = "ElementA"
Element[3] = "ElementA"
Element[4] = "ElementB"
Element[5] = "ElementC"
Run Code Online (Sandbox Code Playgroud)
Objective-C中是否有任何方法可以帮助我找到"中位数"元素?在这种情况下,"中位数"将是"ElementA",或者是出现最大次数的值.
在C#中,这将是一次调用,但我找不到Objective-C中的等价物.
非常感谢,布雷特
这是我如何做到的:
NSArray * elements = ...; //your array of elements:
NSCountedSet * counts = [NSCountedSet setWithArray:elements]:
id modeObject = nil;
NSUInteger modeCount = 0;
for (id element in counts) {
if ([counts countForObject:element] > modeCount) {
modeCount = [counts countForObject:element];
modeObject = element;
}
}
NSLog(@"element with highest frequency: %@", modeObject);
Run Code Online (Sandbox Code Playgroud)
An NSCountedSet也是一个NSMutableSet记住它的元素被添加到数组的次数的一个.
| 归档时间: |
|
| 查看次数: |
1228 次 |
| 最近记录: |