第二大的數

2021-07-02 00:16:56 字數 332 閱讀 4677

這是微軟的一道面試題,是我找工作時看的面試寶典裡面的一題,覺得很有意思,這種處理的方法應該可以用在很多地方。

下面就來進入正題吧。

題目:寫乙個函式,找出乙個整數陣列中,第二大的數。時間複雜度o(n)

const int minnumber = -32767;

int ctestsizeofdlg::find_sec_max(int data, int count)

else if(data[i] > isecnum)

}return isecnum;

}如果我要找第三大的數,時間複雜度還是o(n),只需要再新增乙個變數,多加乙個判斷條件就行了。

第二大整數

問題描述 編寫乙個程式,讀入一組整數 不超過 20個 當使用者輸入 0時,表示輸入結束。然後程式將從這組整數中,把第二大的那個整數找出來,並把它列印出來。說明 1 0表示輸入結束,它本身並不計入這組整數中。2 在這組整數中,既有正數,也可能有負數。3 這組整數的個數不少於2個。輸入格式 輸入只有一行...

找出陣列中第二大的數

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

找出陣列中第二大的數

include include includeusing namespace std 初始化最大值為a 0 次大值為a 1 遍歷一次,每次比較並更新最大值和次大值,最後就可以得到次大值。這種方法時間複雜度為o n bool invalidinput false int findsecondmax i...