假设有一个大小为N的数组
L = [1, 2, ..., n]
随机选择两个值, 两者的差的绝对值就是它们之间的路径长
比如, 选择到了1 和 n 这两个值, 那么路径长就是n-1
依次选择下去, 直到每一个数都被选到, (假设这个数组的大小是偶数吧, 那就不会出现有单独的不能两两配对的情况了)
现在, 问题是, 怎么选择, 才能使得得到的 路径长的和最大 呢?
数据结构 算法 数组
S = [1, 2, ..., n/2] B = [n/2+1, n/2+2, ...,n]
每次分别在上述两个区间取值,则路径长之和最大。
Result = Sum(B) - Sum(S) = n*n/4
如何修炼深厚的功底
下列两种情况哪个占用的空间更大
比较三门解释型语言;算法和数据结构对程序员来说究竟有多重要
如何用javascript和java写一个位向量?
普通树按一定顺序遍历输出的算法
php数组搜索算法