题目描述

【Leetcode】3028.边界上的蚂蚁-LMLPHP
【Leetcode】3028.边界上的蚂蚁-LMLPHP

思路

题目中要求我们返回 蚂蚁返回到边界的次数。简单来想,就是蚂蚁原来的位置的一维坐标为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 ;       
    }
};
03-07 01:35