題目如下,
給予一個數字串列(例如 2 3 1 4 8)
從中任意選取數字,但不能選取相鄰的兩個數
求選取數字的和的最大可能值
例如以上面的數字串列作舉例,最大的和為 2 1 8 或3 8 等於11
看到這樣的題目 我的作法如下:
以2和3作為一棵樹的起始節點,
2的節點的left 指向 1(i+2) right 指向4(i+3)
1的left再指向8 right指向null
此做法可以省去一般窮舉法 多餘的可能 例如(2 8)
我認為我的演算法已經是optimal的了
但程式耗時仍然超時
想請問哪一步還能夠更加精簡