# leetcode-1013

2020年3月29日

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

题目

因为是整数数组，如果能均分成三份，则数组和肯定是3的倍数。然后遍历数组逐端求和使得和为 sum(A)/3。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    class Solution:
      def canThreePartsEqualSum(self, A) -> bool:
        if not A:
          return False
        sa = sum(A)
        if sa % 3:
          return False
        s = sa // 3
        s1 = 0
        s2 = 0

        for i in range(len(A)):
          s1 += A[i]
          if s1 == s and (i+1) < len(A):
            for j in range(len(A[i+1:])):
              s2 += A[i+1+j]
              if s2 == s and j+1 < len(A[i+1:]) and sum(A[i+j+2:])== s:
                return True
        return False
    #60 ms	18.7 MB