zoukankan      html  css  js  c++  java
  • 经典算法详解(2)寻找数组中的次大数

    题目: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 }
  • 相关阅读:
    cannot resolve symbol 'XXX'
    jwt单点登入
    空3
    Hibernate持久化,生命周期
    Hibernate主键生成策略
    Hibernate常用api以及增删改查
    Hibernate配置流程
    Hibernate定义
    Git总结
    spring整合MQ
  • 原文地址:https://www.cnblogs.com/ys99/p/9196029.html
Copyright © 2011-2022 走看看