class Solution(object):
def prefixesDivBy5(self, A):
sum = 0
for i in range(len(A)):
sum += A[i] * 2
if (sum//2) % 5 == 0:
A[i] = 'true'
else:
A[i] = ‘false’
sum *= 2
return A
题目链接:https://leetcode.com/problems/binary-prefix-divisible-by-5/
思路:从第一个数开始计算,第一次sum1=a12,第二次sum2=(a12)2+a22,第三次sum3=((a1*2)2+a22)2,以此类推,遍历完所有数字。由于二进制运算要求最末尾的数字是i2^0,所以每次得到的结果都需要/2,然后与5取余。
tip:笔者要声明一下,这题在我的pycharm里面是运行正确的,都是在leetcode上面运行结果错误。