题目描述
解答-两端缩进
就是先求和算出平均值,在从两端求和取接近平均值的数,若等于平均值取坐标,然后对第一个和第三个坐标做对比,第三个坐标要比第一个大1,留一个位置给第二块。功能完成。
class Solution:
def canThreePartsEqualSum(self, A: List[int]) -> bool:
goal=0
sum_number=0
for number in A:
sum_number+=number
goal=sum_number/3
one_part_position=0
third_part_position=0
one_part=0
third_part=0
for i in range(len( A)):
one_part+=A[i]
if one_part==goal:
one_part_position=i
break
for i in range(1,len( A)):
third_part+=A[-i]
if third_part==goal:
third_part_position=len(A)-i
break
if third_part_position> one_part_position+1:
return True
else:
return False
就我自己来看它的时间复杂度是O(n)就两个for循环。