1.上午主要做了對翻譯任務的劃分,下午把論文翻譯完畢。
2.明天要講的算法題:對一個集合,求出其連續元素組成的子集中,和最大的子集
我對這道題的理解是:
1)若集合中最小值大於0,意味着所有的都大於0,則最大的子集和,爲所有值加起來
2)若集合中最大值小於0,意味着所有的都小於0,則最大的子集和,爲集合中最大值
3)其他情況,我的想法:找出所有極值點(此時該極值點必定爲正值),並找出所有極值點兩邊第一個負數的點的位置,以此負數點位邊界,求出除負數值以外的點之和。再比較這些和,取出最大的
可是這種想法有問題:例如46,-26,11,-1,40,26,-8,9
不難找出極值點和爲:46,11,40+26,9
可是有個問題就是:這所有值加起來仍然比40+26大
爲此,我想到了,把邊界擴展到兩個負數之外,可是仍然不行,只要40+26兩邊的元素之和大於0的時候都會出現該情況。
莫非要把遍歷範圍擴展到所有的值?再想想吧