解题思路:
判断是否存在子序列是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

京公网安备 11010502036488号