昨天做了乙份筆試題,題目中的**題拿出來分享一下。
題目是這樣的:如果陣列長度大於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)
(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)
(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 解釋 ...