【发布时间】:2016-01-01 23:58:20
【问题描述】:
给出一个长度为 n 的数组。求子数组元素的乘积之和。
说明
数组 A = [2, 3, 4],长度为 3。
子数组长度2 = [2,3], [3,4], [2,4]
[2, 3] = 6
中元素的乘积[3, 4] = 12
中元素的乘积[2, 4] = 8
中元素的乘积长度为2 = 6+12+8 = 26的子数组的总和
同样,对于长度 3,Sum = 24
因为,对于更高长度的子数组,乘积可以更大,以模1000000007计算。
对于所有可能长度的子数组,即 1、2、3、......、n,找到这些和的有效方法是什么,其中 n 是数组的长度.
【问题讨论】:
-
是针对所有子数组还是只针对长度为2的子数组?
-
对所有可能长度为 1、2、3、......、n 的子数组计算总和。
-
限制
n和k? -
@MetaD 真可惜,因为 2 真的很简单 :)(
n加法,n减法和n乘法) -
n 和 k 可以达到 1000。
标签: algorithm math dynamic-programming