在Python中查找总和可以被k整除的连续子序列的数量的程序
假设我们有一个数组nums和一个值k。我们必须找到总和可以被k整除的连续子序列的数量。
所以,如果输入像k=3nums=[1,2,3,4,1],那么输出将是4,因为子序列是[3],[1,2],[1,2,3]]和[2,3,4]。
示例
让我们看看以下实现以获得更好的理解-
def solve(k, nums): x = [0]*k x[0] = 1 r=s=0 for elem in nums: s = (s+elem) % k r += x[s] x[s] += 1 return r k = 3 nums = [1,2,3,4,1] print(solve(k, nums))
输入
3, [1,2,3,4,1]输出结果
4