這是博主在今日計算機考試上遇到的一道遞迴題,由於前面做得太慢,只剩下了15分鐘,絞盡腦汁才把這道題的主體部分給寫了出來。
題目是這樣的:給出乙個列表,裡面全是integer,比如 [8,4,4,8,12,3,2,9],或者[2,1,14,6,4,3] ;我們要做的呢,是把找出這個列表最大的corner和。什麼是corner和呢,就是指列表開頭或者結尾的k個元素之和,可以是一些在頭一些在尾,也可以全部在開頭,全部在結尾。反正這k個元素一定是挨在開頭或者結尾的。
比如[8,4,4,8,12,3,2,9],3個元素corner和最大值是21,即8+4+9
又比如[2,1,14,6,4,3],3個元素corner和最大值是17,即2+1+14
下面提供我寫的**
def
max_sum
(arr, k)
:if k==0:
return
0else
: list0=
:-
1],k-1
)+arr[-1
])1:
],k-1)
+arr[0]
)return
max(list0)
# you can use the following as test cases
arr =[8
,4,4
,8,12
,3,2
,9]print
(max_sum(arr, k=3)
)arr =[2
,1,14
,6,4
,3]print
(max_sum(arr, k=3)
)
一道有趣的演算法題
日前在網上看到一道演算法題。頗有意思,也細細的研究一番。現將該題發布於此,和各位交流一下。同時,本文也是筆者首次使用office2007的部落格功能,看看效果怎麼樣。某幢大樓有100層。你手裡有兩顆一模一樣的玻璃珠。當你拿著玻璃珠在某一層往下扔的時候,一定會有兩個結果,玻璃珠碎了或者沒碎。這幢大樓有...
一道有趣的構造題
題意 以下是三道證明題,均在平面上進行討論。以下 x0 y0 x1 y1 x 0,y 0 x 1,y 1 x0 y 0 x1 y1 表示一條從 x0 y0 x 0,y 0 x0 y 0 到 x1 y1 x 1,y 1 x1 y 1 的直線。其中,一條直線與乙個點集合相交表示這條直線上存在乙個點,這個...
一道有趣的非同步題
const delay ms new promise resolve settimeout resolve,ms const subflow createflow delay 1000 then log c createflow log a log b subflow,delay 1000 then...