列表中第三大的數

2021-10-12 17:54:16 字數 1098 閱讀 4989

昨天做了乙份筆試題,題目中的**題拿出來分享一下。

題目是這樣的:如果陣列長度大於3,就將陣列中第三大的資料輸出,否則輸出最大值

我的解題思路是這樣想:考慮陣列長度大於3,要求出第三大的數,可以先將陣列進行從大到小進行排序,然後直接取第三個值

解題思路,考慮陣列長度大於3,要求出第三大的數,可以先將陣列進行從小到達排序,然後直接取第三個值

'''def

paixu

(list1)

: leng =

len(list1)

for i in

range

(leng)

:for j in

range

(leng - i-1)

:if list1[j]

< list1[j +1]

: list1[j]

, list1[j +1]

= list1[j +1]

, list1[j]

return list1

defthird_max

(list1)

: leng =

len(list1)

# list1.sort(reverse=true)# sort預設是公升序排序,要使用降序就加入reverse=true

paixu(list1)

print

(list1)

if leng <3:

return list1[0]

if leng>=3:

return list1[2]

list1 =[12

,34,3

,56,342

,125,54

]# list1 = [12,2]

num = third_max(list1)

print

(num)

如果你們還有其它的思路,可以告知我一聲。

第三大的數

第三大的數 給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 1...

第三大的數

給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 1 解釋 ...

414 第三大的數

給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 輸出 1 解釋 ...