我就会一种方法,因为三个相等的部分,所以每一个部分就是三分之一的和,所以从头遍历,看有几个三分之一的和,如果有三个,且后面的其余部分和为0,那就是正确的
class Solution {
public boolean canThreePartsEqualSum(int[] A) {
int sum=0;
for(int i=0;i<A.length;i++){
sum=sum+A[i];
}
if(sum%3!=0){
return false;
}
int temp=sum/3;
int count=0;
int temp1=0;
for(int i=0;i<A.length;i++){
temp1+=A[i];
if(temp1==temp){
count++;
temp1=0;
}
}
if(count==3&&temp1==0){
return true;
}
return false;
}
}