数组中的最大值和次大值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
NSArray *arr = [NSArray arrayWithObjects:@(0.1),@(0.02),@(0.9),@(1.6),@(0.002),@(0.6), nil];
float max = [arr[0] floatValue];
int index = 0;
float secondMax = [arr[1] floatValue];
int secondIndex = 1;
for (int i = 0; i < arr.count; i++) {
    if ([arr[i] floatValue] > max) {
        secondMax = max;
        secondIndex = index;
        max = [arr[i] floatValue];
        index = i;
    }else if( [arr[i] floatValue] < max && [arr[i] floatValue] > secondMax){
        secondMax = [arr[i] floatValue];
        secondIndex = i;
    }
}
 
NSLog(@"max %f index:%d secondMax:%f secondIndex:%d",max,index,secondMax,secondIndex);

 

1
max 1.600000 index:3 secondMax:0.900000 secondIndex:2

 

posted @   小师傅啊小师傅  阅读(409)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
历史上的今天:
2018-05-24 文字识别
点击右上角即可分享
微信分享提示