博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
寻找数组中第二大或第二小的数值
阅读量:6513 次
发布时间:2019-06-24

本文共 1081 字,大约阅读时间需要 3 分钟。

 

昨天晚上参加了360校园招聘的笔试,其中最后一道笔试题就是找数组中的第二大的数。

可以看出今年360笔试的试题还是不难的,想起昨晚提前把试题做完后,提前把试卷给交了,就和旁边的北大的一哥们聊天,聊最近的各种笔试、面试以及被鄙视。快到公交站时,还讨论着明天的腾讯、百度,以及晚上的去哪儿网的笔试。找工作还确实是个体力活啊!到处赶场。

2013年360校园招聘题:写一个函数找出一个整数数组中,第二大的数。

从一个给定的、无序的数组中,找出第二大或者第二小的数值。

 

#include 
int FindSecondBiggest(int *v, int len){ if (v == NULL || len < 2) { return 0xfffffff; } int i, max = v[0], second = v[1]; if (max < second) { max = v[1]; second = v[0]; } for (i = 2; i < len; ++ i) { if (v[i] > max) { second = max; max = v[i]; } else if (v[i] > second) { second = v[i]; } } return second;}int FindSecondLeast(int *v, int len) { if (v == NULL || len < 2) { return 0xffffffff; } int i, min = v[0], second = v[1]; if (min > second) { min = v[1]; second = v[0]; } for (i = 2; i < len; ++ i) { if (v[i] < min) { second = min; min = v[i]; } else if (v[i] < second) { second = v[i]; } } return second;}int main(){ int v[] = {1,2,3}; int len = sizeof(v) / sizeof(v[0]); printf("SecondBiggest = %d\n", FindSecondBiggest(v, len)); printf("SecondLeast = %d\n", FindSecondLeast(v, len)); return 0;}

 

 

 

转载地址:http://wrifo.baihongyu.com/

你可能感兴趣的文章
【亲测】教你如何搭建 MongoDB 复制集 + 选举原理
查看>>
虚拟化网络技术
查看>>
阿里云中间件推出全新开发者服务
查看>>
56.随机产生的id重复问题
查看>>
一个快速检测系统CPU负载的小程序
查看>>
java.lang.IllegalArgumentException: No bean specified
查看>>
Wireshark and Tcpdump tips
查看>>
第一课 计算机及操作系统基础知识
查看>>
windows2003单域迁移到2008R2服务器
查看>>
cacti相关资料网站
查看>>
我的友情链接
查看>>
网站的开发流程介绍(转)
查看>>
浅析:Android--Fragment的懒加载
查看>>
Linux操作系统目录和Linux常用的文件和目录管理命令
查看>>
DIY:自己动手做一个迷你 Linux 系统(二)
查看>>
猫猫学IOS(三十)UI之Quartz2D画图片画文字
查看>>
windows 指定的网络名不可用__被我解决了!
查看>>
09值类型、引用类型、字符串
查看>>
ethereumjs/merkle-patricia-tree-2-API
查看>>
go标准库的学习-runtime
查看>>