【发布时间】:2014-09-01 23:11:07
【问题描述】:
我有一个 NSNumbers 的 NSMutable 数组,它是从 NSInteger 值转换而来的。在我混合了负数和正数的情况下,我最终得到的结果是最小的正数是总体上最小的数,即使有负数也是如此。如果所有数字都是负数,它将找到最小的数字(例如 -2、-1、-1 将给出 -2 作为最小值)。
self.scoreArray = [[NSMutableArray alloc]initWithObjects:self.pOne, self.pTwo...etc];
NSNumber *min = self.scoreArray[0];
for (int i=0; i<[self.scoreArray count]; i++) {
if (self.scoreArray[i] < min) {
min = self.scoreArray[i];
}
NSLog(@"The smallest number is %@", min);
}
我怎样才能改变它以使最小的数字(包括负数)总是正确的?
【问题讨论】:
-
scoreArray是否包含 NSNumbers?您需要返回代表最小值的 NSNumber 的实例,还是该实例的副本? -
是的,
scoreArray包含 NSNumbers。我想返回 NSNumber 的实例。 -
那么,试试我的回答。它比较包裹在 NSNumbers 中的 integerValues 并返回包含最小值的 NSNumber 的实例。
-
您的回答成功了,谢谢。
标签: ios objective-c algorithm