【问题标题】:min and max of NSArray without Zeros没有零的 NSArray 的最小值和最大值
【发布时间】:2014-02-20 12:14:24
【问题描述】:

我有一个 NSArray,想知道最大和最小整数。

我目前使用:

int max = [[array valueForKeyPath:@"@max.intValue"] intValue];
int min = [[array valueForKeyPath:@"@min.intValue"] intValue];

但现在我想知道没有输入零的最小值和最大值(数组只有正值​​​)

ex:
array=[3, 6 ,7 , 13, 86, 45, 0]
min=3
max=86

有什么方法可以实现吗?

【问题讨论】:

  • 你的意思是你想要一个函数返回数组中的最大整数?
  • 我无法理解你的问题..你能详细说明一下吗?
  • 对于我拥有的最大值,我想要一个返回此值而不计算零的值
  • 你的意思是在你的情况下 3 是最小值,忽略 0 哪个更小?
  • @Basheer_CAD 就是这样。

标签: ios objective-c nsarray


【解决方案1】:
int xmin = INTMAX_MAX;
for (NSNumber *num in numbers) {
    int x = num.intValue;
    if (x < xmin && x!= 0) xmin = x;
}

【讨论】:

  • 对于int,使用INT_MAX。 (这让我想起了stackoverflow.com/a/15931719/1187415 中的代码 :-)
  • 嘿,写代码不公平!! (没关系,它比使用 KVC 更快,更容易理解。)
  • 是的,稍微修改为不包含零 =)
  • (也可以加入最大值,而不是继续使用 KVC。)
猜你喜欢
  • 2013-04-02
  • 1970-01-01
  • 2022-06-16
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
相关资源
最近更新 更多