【发布时间】:2014-08-11 07:39:41
【问题描述】:
假设我有一个排序的整数数组 int[],我想搜索最接近某个输入数字的较小值。
例如,如果数组包含1、23、57、59、120,并且输入为109,则输出应为59。
我已经尝试过了,但它没有按需要工作。
NSTimeInterval currentTime = self.player.currentTime;
NSInteger playerTime=currentTime;
NSUInteger index = [_timesArray indexOfObject:@(playerTime)
inSortedRange:NSMakeRange(0, _timesArray.count-1)
options:NSBinarySearchingFirstEqual | NSBinarySearchingInsertionIndex
usingComparator:^(id a, id b) {
return [a compare:b];
}];
【问题讨论】:
-
你已经对数组进行了排序,你需要的是从最大数到最小数……算法在这里很简单!
标签: objective-c sorting search nsarray