题目如下,
给予一个数字串行(例如 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的了
但程式耗时仍然超时
想请问哪一步还能够更加精简