Python 找出乙個整數陣列中,第二大的數。

2021-09-24 17:04:56 字數 1230 閱讀 3225

給你乙個整形陣列,找出這個陣列中第二個大的數。

比如說:num_list = [98,12,45,1,2,32,90,45,23,121,11]

第二大的數是98

方法1: 直接排序,輸出倒數第二個數即可

num_list = [98,12,45,1,2,32,90,45,23,121,11]

tmp_list = sorted(num_list)

print('第二大的數是:',tmp_list[-2])

方法2:

設定兩個標誌位乙個儲存最大數,乙個儲存次大數 two 儲存次大值,one 儲存最大值,遍歷一次陣列即可,先判斷是否大於 one,若大於將

one 的值給 two,將 num_list[i] 的值給 one,否則比較是否大於two,若大於直接將 num_list[i]

的值給two,否則pass

python**如下:

def find_second_large_num(num_list):

# 方法二

# 設定兩個標誌位乙個儲存最大數乙個儲存次大數

# two 儲存次大值,one 儲存最大值,遍歷一次陣列即可,先判斷是否大於 one,若大於將 one 的值給 two,將 num_list[i] 的值給 one,否則比較是否大於two,若大於直接將 num_list[i] 的值給two,否則pass

one = num_list[0]

two = num_list[0]

for i in range(1, len(num_list)):

if num_list[i] > one:

two = one

one = num_list[i]

elif num_list[i] > two:

two = num_list[i]

print("第二個大的數是 :", two)

num_list = [34, 11, 23, 56, 78, 0, 9, 12, 3, 7, 5]

find_second_large_num(num_list)

輸入結果:

第二個大的數是 : 56

找出乙個整數陣列中,第二大的數

寫乙個函式找出乙個整數陣列中第二大的數 include include include define size 10 intarray 隨機產生乙個大小為size的整數陣列 void createarray int array 列印整數陣列 void printarray int array pri...

寫乙個函式找出乙個整數陣列中第二大的數

如果是面試遇到這種型別的題,一定要多考慮一下了,畢竟題目不難,如果直接用排序去解題的話,面試官估計會比較失望了。因為這種型別的題,解法有很多,那麼別人當然是希望得到最高效的解法了。試想如果有一萬個數,如果用排序解答,是不是就浪費了大量的資源去將那些並不重要的數進行了排序。include void f...

寫乙個函式找出乙個整數陣列中,第二大的數

題目 寫乙個函式找出乙個整數陣列中,第二大的數。演算法分析 1 假設陣列中的前兩個元素就是最大和第二大,即max和smax 2 從陣列的第二個元素開始遍歷陣列,當有元素大於max的時候,將max賦值給smax,再將最大的那個元素賦值給max 3 如果當前元素小於max,並且大於smax,那麼就讓sm...