寻找数组中第二大或第二小的数值
时间:2022-04-22
本文章向大家介绍寻找数组中第二大或第二小的数值,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
昨天晚上参加了校园招聘的笔试,其中最后一道笔试题就是找数组中的第二大的数。
可以看出今年笔试的试题还是不难的,想起昨晚提前把试题做完后,提前把试卷给交了,就和旁边的北大的一哥们聊天,聊最近的各种笔试、面试以及被鄙视。快到公交站时,还讨论着明天的腾讯、百度,以及晚上的去哪儿网的笔试。找工作还确实是个体力活啊!到处赶场。
2013年360校园招聘题:写一个函数找出一个整数数组中,第二大的数。
从一个给定的、无序的数组中,找出第二大或者第二小的数值。
#include <stdio.h>
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 = %dn", FindSecondBiggest(v, len));
printf("SecondLeast = %dn", FindSecondLeast(v, len));
return 0;
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【DB宝18】在Docker中安装使用MySQL高可用之MGR
- [周末往期回顾]redis的介绍及安装
- [Oracle 日常管理]使用BBED定位数据位置
- [Oracle 日常管理]表的相关操作
- JsonPath实践(二)
- C# 使用OpenCV在一张图片里寻找人脸
- 【DB笔试面试858】在Oracle中,ipcs和ipcrm命令的作用有哪些?
- Qt音视频开发13-mpv录像存储
- Oracle参数解析(spfile)
- ROS2机器人笔记20-08-18
- C sharp实例:华盾武器门数据接收和解析
- JsonPath实践(三)
- 有序链表转换二叉搜索树
- 128. 最长连续序列
- 【DB笔试面试859】在Oracle中,内核参数kernel.shmall、kernel.shmall等分别代表什么含义?