1013. 将数组分成和相等的三个部分

给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。
形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + ... + A[i] == A[i+1] + A[i+2] + ... + A[j-1] == A[j] + A[j-1] + ... + A[A.length - 1]) 就可以将数组三等分。

python3题解:

class Solution:
def canthreepartsqqualsum(self, A: List[int]) -> bool:
B = sum(A)
if B % 3 != 0:
return False
temp, count = 0, 0
res = B // 3
for i in A:
if count == 2 :return True
temp += i
if temp == res:
count += 1
temp = 0
return False
注:count == 2 :return True 可以直接返回TRUE,因为剩余的必定等于res

posted @ 2020-05-26 16:04  不屈的鸣人  阅读(135)  评论(0编辑  收藏  举报