n=int(input())
num=list(map(int,input().split()))
cnt=0
p=0
q=n-1
lft=num[0]
rht=num[n-1]
while p<q:
if lft==rht:
p+=1
q-=1
lft=num[p]
rht=num[q]
elif lft<rht:
p+=1
lft+=num[p]
cnt+=1
else:
q-=1
rht+=num[q]
cnt+=1
print(cnt)
python 牛客 回文序列
最新推荐文章于 2025-02-16 09:02:34 发布
本文介绍了一种算法,用于计算使数组两端元素相等所需的最小操作次数。通过双指针技术,从数组的两端开始逐步向中间逼近,直到找到平衡点。此方法适用于需要优化数组操作场景的问题解决。


5615

被折叠的 条评论
为什么被折叠?



