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

class Solution {
	public boolean canThreePartsEqualSum(int[] A) {
		long sum = 0L;
		for (int i = 0; i < A.length; ++i) {
			sum += A[i];
		}
		if (sum % 3 != 0)
			return false;
		long ave = sum / 3, cur = 0L;
		int count = 0;
		for (int i = 0; i < A.length; ++i) {
			cur += A[i];
			// ans
			if (count == 3)
				return true;
			// update
			if (cur == ave) {
				++count;
				cur = 0L;
			}

		}
		if (count == 3)
			return true;
		return false;
	}
}

猜你喜欢

转载自blog.csdn.net/qq_39370495/article/details/89341030