解题思路:

判断是否存在子序列是7的倍数,需要确认两条:

1、从第1个数到第n个数和是除以7,余数是否为0,如果为0,则返回1;

2、如果余数不为0,是否存在第1个数到第m个数(m<n)的和与余数相等,如果存在,则第m+1个数到第n个数的和为7的倍数,返回1;

3、整个列表循环结束,都不符合上述两点,则返回0。

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param nums int整型一维数组 
# @return int整型
#
class Solution:
    def findRainbow(self , nums: List[int]) -> int:
        sums = []
        sum = 0
        for i in nums:
            sum += i
            if sum % 7 == 0:
                return 1
            if sum % 7 in sums:
                return 1
            sums.append(sum)
        return 0