設計乙個函式返回傳入的列表中最大和第二大的元素的值。
測試輸入:[1,2,3,4,5,6]
預期輸出:(5,6)
測試輸入:[11,2,30,4,55,6]
預期輸出:(30,55)
要求不破壞原來的列表。
方法一:用max方法取出列表裡最大的乙個元素,同時刪除這個元素,再用max取一次,得到的就是第二大的元素。
**:
def
max2
(x):
m1 =
max(x)
#m1是最大元素
x2 = x.copy(
)#複製乙個列表,同時不破壞原來的列表
x2.remove(m1)
#把列表裡最大的元素刪除
m2 =
max(x2)
#再次取列表裡最大的元素,這時取到的就是列表裡第二大的元素
return m2,m1 #m1是第二大的值,m2是最大值
方法二:給列表用sort()方法排序,排序之後是公升序的結果,最後兩個元素即為最大和第二大的元素,但是要不破壞原來的列表,也將其copy乙份。
**:
def
max2
(x):
x2 = x.copy(
)#複製乙份,不破壞原來的列表
x2.sort(
)#從小到大排序
m1 = x2[-1
]#最後乙個元素最大
m2 = x2[-2
]#倒數第二個元素第二大
return m2,m1 #m1是第二大的值,m2是最大值
陣列中最大和子陣列
題目 輸入乙個整型陣列,資料元素有正數也有負數,求元素組合成連續子陣列之和最大的子陣列,要求時間複雜度為o n 例如 輸入的陣列為1,2,3,10,4,7,2,5,最大和的連續子陣列為3,10,4,7,2,其最大和為18。背景 本題最初為2005年浙江大學計算機系考研題的最後一道程式設計題,在200...
陣列中最大和的子陣列
題目 輸入乙個整型陣列,資料元素有正數也有負數,求元素組合成連續子陣列之和最大的子陣列,要求時間複雜度為o n 例如 輸入的陣列為1,2,3,10,4,7,2,5,最大和的連續子陣列為3,10,4,7,2,其最大和為18。背景 本題最初為2005年浙江大學計算機系考研題的最後一道程式設計題,在200...
求連續子陣列中最大和
思路 動態規劃 遍歷陣列,遇到負的和則放棄之前的結果,重新積累,這期間保留最大值 用max記錄最終返回的最大和,用curmax記錄累加值 對於數值中乙個數arr i 若其左邊的累加和非負,那麼加上arr i 判斷此時的curmax是否大於max,若大於此時的max,則用max記錄下來 functio...