- Notifications
You must be signed in to change notification settings - Fork 1.3k
/
Copy path_1013.java
38 lines (36 loc) · 1.12 KB
/
_1013.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
packagecom.fishercoder.solutions.secondthousand;
publicclass_1013 {
publicstaticclassSolution1 {
publicbooleancanThreePartsEqualSum(int[] A) {
intsum = 0;
for (inti = 0; i < A.length; i++) {
sum += A[i];
}
if (sum % 3 != 0) {
returnfalse;
}
intequalSum = sum / 3;
intleft = 0;
intleftSum = 0;
while (left < A.length - 2 && leftSum != equalSum) {
leftSum += A[left++];
}
if (left > A.length - 2 || leftSum != equalSum) {
returnfalse;
}
intright = A.length - 1;
intrightSum = 0;
while (right > left && rightSum != equalSum) {
rightSum += A[right--];
}
if (right < left || rightSum != equalSum) {
returnfalse;
}
intmiddleSum = 0;
for (inti = left; i <= right; i++) {
middleSum += A[i];
}
returnmiddleSum == equalSum;
}
}
}