3028.边界上的蚂蚁

keybot
1
2025-08-20

#easy #模拟
边界上有一只蚂蚁,它有时向  走,有时向  走。

给你一个 非零 整数数组 nums 。蚂蚁会按顺序读取 nums 中的元素,从第一个元素开始直到结束。每一步,蚂蚁会根据当前元素的值移动:

  • 如果 nums[i] < 0 ,向  移动 -nums[i]单位。
  • 如果 nums[i] > 0 ,向  移动 nums[i]单位。

返回蚂蚁 返回 到边界上的次数。

注意:

  • 边界两侧有无限的空间。
  • 只有在蚂蚁移动了 |nums[i]| 单位后才检查它是否位于边界上。换句话说,如果蚂蚁只是在移动过程中穿过了边界,则不会计算在内。

提示:

  • 1 <= nums.length <= 100
  • -10 <= nums[i] <= 10
  • nums[i] != 0

思路
模拟蚂蚁移动即可

int returnToBoundaryCount(int* nums, int numsSize) {
    int count = 0;
    int x = 0;
    for(int i = 0;i < numsSize;i ++) {
        x += nums[i];
        if(x == 0) {
            count ++;
        }
    }
    return count;
}