题目描述
思路
题目中要求我们返回 蚂蚁返回到边界的次数。简单来想,就是蚂蚁原来的位置的一维坐标为0,然后经过,若干次移动,统计有几次坐标再次变为0的个数。
我们利用前缀和,像定义一个数组,算出前缀和数组,统计前缀和数组中0出现的次数,就是蚂蚁返回到边界的次数,然后我们返回即可。
代码
class Solution {
public:
int returnToBoundaryCount(vector<int>& nums) {
int length=nums.size();
int count=0; //用来计数
int sum[length];
sum[0]=nums[0];
if (sum[0]==0) count+=1;
for (int i=1;i<length;i++)
{
sum[i]=sum[i-1]+nums[i];
if (sum[i]==0)
count++;
}
return count ;
}
};