求数组的最长路径和问题

发布于 2022-08-28 23:20:49 字数 268 浏览 9 评论 0

假设有一个大小为N的数组

L = [1, 2, ..., n]

随机选择两个值, 两者的差的绝对值就是它们之间的路径长

比如, 选择到了1 和 n 这两个值, 那么路径长就是n-1

依次选择下去, 直到每一个数都被选到,
(假设这个数组的大小是偶数吧, 那就不会出现有单独的不能两两配对的情况了)

现在, 问题是, 怎么选择, 才能使得得到的路径长的和最大呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情痴 2022-09-04 23:20:49

S = [1, 2, ..., n/2]
B = [n/2+1, n/2+2, ...,n]

每次分别在上述两个区间取值,则路径长之和最大。

Result = Sum(B) - Sum(S)
    = n*n/4

江挽川 2022-09-04 23:20:49

先从小到大排序,得到a1,a2,...,an,其中a1<=a2<=...<=an,最大和就是(a[n]-a[1])+(a[n-1]-a[2])+...+(a[n/2]-a[n/2-1]),也就是后一半的和减去前一半的和,不知题意理解是否正确?

站稳脚跟 2022-09-04 23:20:49

最大的一半减去最小的一半

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文