程序查找Python中所有连续子列表的总和
假设我们有一个称为nums的数字列表,现在考虑每个连续的子数组。对每个子数组求和,然后返回所有这些值的总和。最后,将结果修改为10**9+7。
因此,如果输入类似于nums=[3,4,6],则输出将为43,因为我们具有以下子数组-[3][4][6][3,4][4,6][3,4,6]所有这些的总和为43。
为了解决这个问题,我们将遵循以下步骤-
N:=数字大小
ans:=0
对于范围从0到nums的i,执行
n:=nums[i]
ans:=ans+(i+1)*(Ni)*n
回报(ansmod1000000007)
让我们看下面的实现以更好地理解-
示例
class Solution: def solve(self, nums): N=len(nums) ans=0 for i in range(len(nums)): n=nums[i] ans += (i+1) * (N-i) * n return ans%1000000007 ob = Solution() print(ob.solve([3, 4, 6]))
输入项
[3, 4, 6]
输出结果
43