寻找数组中第二大或第二小的数值
时间: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;
}
- Codeforces 834D The Bakery【dp+线段树维护+lazy】
- memcached安装及.NET中的Memcached.ClientLibrary使用详解
- AtCoder Beginner Contest 069【A,水,B,水,C,数学,D,暴力】
- 2017"百度之星"程序设计大赛 - 资格赛【1001 Floyd求最小环 1002 歪解(并查集),1003 完全背包 1004 01背包 1005 打表找规律+卡特兰数】
- 洛谷 2634&&BZOJ 2152: 聪聪可可【点分治学习+超详细注释】
- 【经验总结】Java在ACM算法竞赛编程中易错点
- 【Java学习笔记之六】java三种循环(for,while,do......while)的使用方法及区别
- 类A是公共的,应在名为A.java的文件中声明错误
- 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
- 【Java学习笔记之七】java函数的语法规则总结
- BZOJ 3038: 上帝造题的七分钟2【线段树区间开方问题】
- BZOJ 3211: 花神游历各国【线段树区间开方问题】
- WP、Win10开发或者WPF开发时绘制自定义窗体~例如:一个手机
- 【Java学习笔记之八】JavaBean中布尔类型使用注意事项
- 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 数组属性和方法