当前位置:  开发笔记 > 编程语言 > 正文

Objective-C:如何在没有排序的情况下找到数组中的最高值?

如何解决《Objective-C:如何在没有排序的情况下找到数组中的最高值?》经验,为你挑选了1个好方法。

我正在进行一项任务,我必须使用for循环在数组中找到最高值,而不进行排序.我觉得我到目前为止已接近正确但不完全正确.下面是我到目前为止的代码示例.

NSArray *unsortedArray = @[ @2, @44, @11, @99, @35 ];


for (int i = 0; i < 4 ; i++) {
    id number = [unsortedArray objectAtIndex:i];
    id largestNumber = 0;
    if (largestNumber < number) {
        largestNumber = number;


        NSLog(@"%@ is the largest number", largestNumber );

  return 0;
    }

}

现在这只返回区域中的第一个值然后循环停止,我是否将错误的值分配给maximumNumber和number?代码很新,所以我很感激,反馈和例子.

谢谢!



1> vadian..:

键值编码解决方案,无循环

NSArray *unsortedArray = @[ @2, @44, @11, @99, @35 ];
NSNumber *maxNumber = [unsortedArray valueForKeyPath:@"@max.self"];
NSLog(@"%@", maxNumber); // 99

请参阅Mattt Thompson撰写的这篇有趣的文章: KVC Collection Operators

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有