找出陣列中第二大的數

2021-07-04 02:31:08 字數 724 閱讀 7048

#include#include#includeusing namespace std;

//初始化最大值為a[0],次大值為a[1],遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。 這種方法時間複雜度為o(n)

bool invalidinput=false;

int findsecondmax(int a,int n)

int max=a[0];

int secondmax=a[1];

for(int i=0;isecondmax)

}if(secondmax!=max)//去重 防止出現最大值和最小值一樣的情況 如a=;

else }

//方法二先對陣列排序再取倒數第二個數。最笨的就是這個方法了。時間複雜度為排序的時間複雜度

int findsecondmax2(int a,int n)

bool flag=true;

for(int i=0;ia[j+1])

}} if(a[n-2]!=a[n-1])

else

if(i>=0)

else

}}int main(void)

; printf("second value = %d\n",findsecondmax2(a,sizeof(a)/sizeof(a[0])));

return 0;

}

找出陣列中第二大的數

給你乙個陣列,求出其中第二大的數 比如陣列a 1,2,3,4,5,6,7,8,9 其中第二大的數為8,返回8即可 分析 一般情況下都是求最大值,呵呵,這道題很有趣。想想也不難,可以在掃瞄最大值的同時,求出第二大的值,就是比當前最大值大的數賦給最大值,然後用第二大的值與先前的最大值比較,如果小,則用先...

找出陣列中第二大的數

題目 寫乙個函式找出乙個整數陣列中,第二大的數。cpp view plain copy print?include 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。intfindsecondmaxvalue int a,intsize else i...

Python中找出陣列中第二大的數

已知numpy函式庫中max和argmax函式可以得出乙個陣列中最大的成員以及所在位置 import numpy as np arr 2,3,4,1,7,6,5 print arr中最大的數為 位於第 位 format np.max arr np.argmax arr 1 那麼如何得到乙個陣列中第二...