如何解决循环列表中不相邻元素的最大值
鉴于:
- 你有一个圆形链接 L 与节点 N1,N2,...N10,N1
- 每个节点都由一个元组 (L,P) 表征,其中 L 是不选择节点的值,P 是选择节点的值立>
- 如果你选择一个节点,你就不能选择它的邻居,如果你选择 N1,那么你就不能选择 N2,N10
如何确定可以获取的最大值?
我知道它是 DP 并且它类似于列表中非相邻元素的最大总和,但它是一个循环的事实让我很困惑。
解决方法
提示:假设有 k 个节点,你可以通过比较两个解决方案来摆脱循环:
-
取n1,求解节点n3、n4、…、nk-1,或
-
不取n1,解决节点n2,n3,...,nk.
这两个解决方案中最好的一个给出了循环问题的最优解。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。