题目:10个互不相等的整数,求其中的第2大的数字,要求数组不能用排序,设计的算法效率越高越好。

 1 #include<iostream>
 2
 3 using namespace std;
 4
 5 int max_second(int *arr,int n) {
 6     int  max_first = arr[0], max_second = arr[0];
 7     for (int i=1; i < n; i++) {
 8         if (arr[i] > max_first) {    //当大于最大数的时候
 9             max_second = max_first;
10             max_first = arr[i];
11         }
12         else if (arr[i] > max_second) {    //当小于最大数,大于次大数的时候
13             max_second = arr[i];
14         }
15     }
16     return max_second;
17 }
18
19 int main(int argc, char *argv[]) {
20     int array[] = { 17,3,2,5,6,4,10,7,19,16 };
21     cout << max_second(array, sizeof(array)/sizeof(int));
22     getchar();
23     return 0;
24 }

转载于:https://www.cnblogs.com/ys99/p/9196029.html

经典算法详解(2)寻找数组中的次大数相关推荐

  1. 经典算法详解--CART分类决策树、回归树和模型树

    Classification And Regression Tree(CART)是一种很重要的机器学习算法,既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Reg ...

  2. 机器学习经典算法详解及Python实现--元算法、AdaBoost

    http://blog.csdn.net/suipingsp/article/details/41822313 第一节,元算法略述 遇到罕见病例时,医院会组织专家团进行临床会诊共同分析病例以判定结果. ...

  3. 机器学习10大经典算法详解

    "数据+算法=模型". 面对具体的问题,选择切合问题的模型进行求解十分重要.有经验的数据科学家根据日常算法的积累,往往能在最短时间内选择更适合该问题的算法,因此构建的模型往往更准确 ...

  4. KPM算法详解(Next数组)

    由LeetCode_28引发的思考 最开始用了剪枝思想的朴素解法虽然做出来了,在看答案的时候发现了有一种叫KMP的算法专门就是解决快速查找匹配串问题的,进行了深入的学习. 下面的图源自@宫水三叶的解答 ...

  5. 起名算法 php,PHP实现各种经典算法详解

    //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, ...

  6. java数组是行优先还是列优先的语言_详解C语言数组中是以列优先吗

    如果我们按照C语言的方式存储它,也就是行优先存储的话,那么在内存中,它的形状是这样的: 这种存储方式又被称作C contiguous array. C语言数组结构列优先顺序存储的实现 (GCC编译). ...

  7. js remove 当前元素_详解js删除数组中的指定元素

    本篇文章将会给大家介绍两种删除数组中的指定元素的方式,分别为: 1.单独定义一个的函数,通过函数来删除指定数组元素. 2.为Array对象定义了一个removeByValue的方法,在调用方法来删除指 ...

  8. 寻找数组中的第二大数

    方法一: #include "stdio.h" #include "stdlib.h" //初始化最大值为a[0],次大值为a[1],遍历一次,每次比较并更新最 ...

  9. 经典算法详解(8)数的分组

    题目:有10个任意的正整数,将其分为两组A和B,要求组A中每个数据的和与组B中每个数据的和之差的绝对值最小.请设计算法实现数的分组(找出一个答案即可). C++版本: 1 #include<io ...

最新文章

  1. 被小扎誉为整个科技界的愿景,元宇宙到底是什么?
  2. 【教程】Linux 下软 RAID 实现方案!!
  3. python windows窗口开发_Windows 平台做 Python 开发的最佳组合
  4. NodeJS-queryString
  5. 用java程序实现记单词_java实现背单词程序
  6. 电脑pro,拒绝等待!七彩虹全新设计师电脑ProMaster H1为创意加速
  7. new Class() 与 Class.newInstance()
  8. delphi 读取excel 两种方法
  9. Atitit 消息系统 mq 的艺术 attilax总结 v5 t88.docx Atitit 消息系统 mq 之道 attilax总结 1. 概念 broker topic producer
  10. android MySQL servlet_使用MySQL和Servlet编写Android接口样例
  11. [ORA-01033: ORACLE正在初始化或关闭]问题解决方案
  12. 腾讯元老赚够钱后辞职,到安徽隐居,每天对着200亩地发呆
  13. 微信防撤回(.dll补丁形式)
  14. 港股通会成资金外流黑洞?伪逻辑不值一驳
  15. MATLAB之绘图基础
  16. 各种花茶的种类及其功效及副作用
  17. css小技巧(文字两端对齐)
  18. 麦肯锡并不神秘,方法论铸就传奇,《金字塔原则》96页PPT,转发
  19. 企业虚拟服务器管理,中小企业虚拟化解决方案-VMware vSphere 6.5-日常管理入口v0.0.1...
  20. 90后霸面男,成功入职华为后的一些小感悟...

热门文章

  1. 可口可乐造型设计_可口可乐推出黑科技音响,还能当冰箱用?
  2. android 底部选项,Android:底部的选项卡
  3. mysql启动日志指令_简单整理MySQL的日志操作命令
  4. 面试题:淘宝2011.9.21校园招聘会笔试题
  5. php表格列宽拖拽,JavaScript_JQuery拖动表头边框线调整表格列宽效果代码,类似于桌面程序中的表格拖动 - phpStudy...
  6. C# WinForm 控件美化之改变ListView Head 的背景色
  7. 《0bug-C/C++商用工程之道》首版勘误表
  8. VSCode插件开发全攻略
  9. 告别程序员生涯,一点感慨
  10. 电脑版永恒纪元服务器正在维护,永恒纪元————【维护】1月10日更新维护公告...