找到列表中的第二大的數,可以用多種方法解決

2021-10-05 19:54:08 字數 941 閱讀 2038

題目35:找到列表中的第二大的數,可以用多種方法解決

思路1:找到最大的,刪除掉,再找最大的。

s=[1,2,3,4,5,-1,-2]

max_num=max(s)

s.remove(max_num)

max_num=max(s)

print("第二大的元素是:",max_num)

思路2:排好序找倒數第二個知識點:

print("第二大元素是:",s[-2])

思路3:遍歷,宣告兩個變數,乙個存最大的,乙個存第二大的,然後逐一對比。

s=[1,2,3,4,5,-1,-2]

max_num=s[0]

second_max_num = s[0]

for i in s:

if i>=max_num:

second_max_num=max_num

max_num=i

print("第二大的元素是:",second_max_num)

第二大的數

這是微軟的一道面試題,是我找工作時看的面試寶典裡面的一題,覺得很有意思,這種處理的方法應該可以用在很多地方。下面就來進入正題吧。題目 寫乙個函式,找出乙個整數陣列中,第二大的數。時間複雜度o n const int minnumber 32767 int ctestsizeofdlg find se...

在陣列中找到第二大的數

在陣列中找到第二大的數 你可以假定至少有兩個數字 您在真實的面試中是否遇到過這個題?樣例 給出 1,3,2,4 返回 3.給出 1,2 返回 1.public class findtwo system.out.println secondmax nums 找出第二大的數 param nums ret...

怎麼找到陣列裡的第二大的數

如果僅僅是考慮實現功能,而不考慮時間效率,可以先通過排序演算法將陣列進行排序,然後根據陣列下標來索引訪問陣列中第二大的數,最快的排序演算法一般為快速排序演算法,但是其時間複雜度仍未o nlogn 根據下標訪問陣列需要遍歷一遍陣列,時間複雜度為o n 所以總的時間為o nlogn 有沒有更好的方法降低...