求数组的最长路径和问题
假设有一个大小为N的数组
L = [1, 2, ..., n]
随机选择两个值, 两者的差的绝对值就是它们之间的路径长
比如, 选择到了1 和 n 这两个值, 那么路径长就是n-1
依次选择下去, 直到每一个数都被选到,
(假设这个数组的大小是偶数吧, 那就不会出现有单独的不能两两配对的情况了)
现在, 问题是, 怎么选择, 才能使得得到的路径长的和最大呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
每次分别在上述两个区间取值,则路径长之和最大。
先从小到大排序,得到a1,a2,...,an,其中a1<=a2<=...<=an,最大和就是(a[n]-a[1])+(a[n-1]-a[2])+...+(a[n/2]-a[n/2-1]),也就是后一半的和减去前一半的和,不知题意理解是否正确?
最大的一半减去最小的一半