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

#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 = %d\n", FindSecondBiggest(v, len));printf("SecondLeast = %d\n", FindSecondLeast(v, len));return 0;
}

寻找数组中第二大或第二小的数值相关推荐

  1. html5数组查找第二大数,2021-06-29:在两个都有序的数组中找整体第K小的数。

    2021-06-29:在两个都有序的数组中找整体第K小的数. 福大大 答案2021-06-29: 1.A和B长度不等的时候,需要把A和B的长度变成相等. A是短数组,B是长数组. 第k小的数,k从1开 ...

  2. 快速找出一个数组中的最大数、第二大数

    http://blog.csdn.net/hackbuteer1/article/details/8035261#comments 快速找出一个数组中的最大数.第二大数 思路:如果当前元素大于最大数 ...

  3. [基础题]1.快速找出一个数组中的最大数、第二大数。

    [基础题]1.快速找出一个数组中的最大数.第二大数. package HomeWork_10;public class Test_01 {public static void main(String[ ...

  4. 编程之美2.10 寻找数组中的最大值和最小值

    这个问题其实很容易解决,就是循环遍历一遍数组,然后找到数组中存在的最大值和最小值就可以了,书中主要讨论的问题是比较次数较小的方法,不过,书中已经证明了,无论用什么方法最少的比较次数也就是循环遍历一遍的 ...

  5. 寻找数组中 的最大值最小值

    最简单的方法就是N中的每个数分别和max,min比较,看似2N次比较,其实大于max的就不必和min比较,小于min的也不必和max比较,因此比较的次数不足2N次,程序如下: [cpp] view p ...

  6. 算法-寻找数组中的重复值,四种解法

    算法-寻找数组中的重复值 寻找数组中的重复值 寻找数组中的重复值 题目来源于:Leetcode-287.本题归类到简单我无法理解-要满足四个条件需要用很特定的解法,面试中要是用到的话很可能是在给自己挖 ...

  7. 清华大学王东:语音识别中的大数据与小数据学习

    原文链接: http://www.199it.com/archives/455137.html 本讲座选自清华语音语言实验室副主任王东于2016年1月19日在RONGv2.0系列--"语言语 ...

  8. 基于递归寻找数组中的最大数字

    问题描述:寻找数组中的最大数字: # 寻找数组中的最大值,这个写法真的可以啊 def find_max(arr):# 先找基线条件if len(arr) == 0:return -1if len(ar ...

  9. 寻找数组中最接近目标的数字,Java实现

    给出一个排好序的整数数组.需要找到与给定数字最接近的值.数组可能包含重复的值 和负数. 例: Input : arr[] = {1, 2, 4, 5, 6, 6, 8, 9} Target numbe ...

最新文章

  1. java6特性_Java6的新特性
  2. Windows Phone 开发——相机功能开发
  3. 0012-求滑动距离
  4. 使用MemoryStream和FileStream
  5. Golang预备知识
  6. Smith Numbers POJ - 1142 (暴力+分治)
  7. java 通讯开发_java之接口开发-初级篇-socket通信
  8. 一个button同时执行多个有返回值的函数的解决方法(return false; or return true;)...
  9. MSSQL系列之十四 无限极分类的解决办法
  10. 思科服务器中ftp的配置文件,思科服务器ftp的配置
  11. 比较器应用一:滞回比较器
  12. [SinGuLaRiTy] 动态规划题目复习
  13. 在sap系统新建财务BTE OBBH OB28替代
  14. 关于网线水晶头的接法详解(2)
  15. 石墨笔记,为知笔记, Effie ,哪个更适合写稿爱好者?
  16. Involution
  17. 查理芒格的25种人类误判心理学
  18. caused by: android.view.inflate,安卓5.1报android.view.InflateException异常怎么解决?
  19. python计算周长代码_Python计算ci的周长
  20. 信号发生器基础知识学习

热门文章

  1. 【Visual Studio】Visual Studio 2019 创建 Windows 控制台程序 ( 安装 ‘使用 C++ 的桌面开发‘ 组件 | 创建并运行 Windows 控制台程序 )
  2. 【Android FFMPEG 开发】FFMPEG 初始化 ( 网络初始化 | 打开音视频 | 查找音视频流 )
  3. 【C++ 语言】引用 ( 引用简介 | 指针常量 | 常量指针 | 常引用 | 引用参数 | 引用 指针 对比 )
  4. 【重构】 代码的坏味道总结 Bad Smell (一) (重复代码 | 过长函数 | 过大的类 | 过长参数列 | 发散式变化 | 霰弹式修改)
  5. Koa2框架从0开始构建预告片网站
  6. 简单多边形与圆交面积模板
  7. Java的this、super和final关键字
  8. Android 利用an框架快速实现网络请求(含下载上传文件)
  9. python基础之内建函数(二)
  10. urllib,urlib2与httplib,urllib3