3028. 边界上的蚂蚁

简介: 3028. 边界上的蚂蚁

说在前面

🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。

题目描述

边界上有一只蚂蚁,它有时向 走,有时向 走。

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

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

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

注意:

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

示例 1:

输入: nums = [2,3,-5]
输出: 1
解释: 第 1 步后,蚂蚁距边界右侧 2 单位远。
第 2 步后,蚂蚁距边界右侧 5 单位远。
第 3 步后,蚂蚁位于边界上。
所以答案是 1 。

示例 2:

输入: nums = [3,2,-3,-4]
输出: 0
解释: 第 1 步后,蚂蚁距边界右侧 3 单位远。
第 2 步后,蚂蚁距边界右侧 5 单位远。
第 3 步后,蚂蚁距边界右侧 2 单位远。
第 4 步后,蚂蚁距边界左侧 2 单位远。
蚂蚁从未返回到边界上,所以答案是 0 。

提示:

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

解题思路

这是一道比较简单的题目,我们直接模拟行为进行判断即可,蚂蚁初始化位置为0,向左移动x时距离要-x,向右移动x时距离要+x,我们只需要判断移动后的距离是否为0即可,使用一个变量记录移动到边界(即距离 = 0)的次数,最后返回即可。

AC代码

/**
 * @param {number[]} nums
 * @return {number}
 */
var returnToBoundaryCount = function(nums) {
    let sum = 0,cnt = 0;
    for(const num of nums){
        sum += Number(num);
        if(sum === 0) cnt++;
    }
    return cnt;
};

公众号

关注公众号『前端也能这么有趣』,获取更多有趣内容。

说在后面

🎉 这里是 JYeontu,现在是一名前端工程师,有空会刷刷算法题,平时喜欢打羽毛球 🏸 ,平时也喜欢写些东西,既为自己记录 📋,也希望可以对大家有那么一丢丢的帮助,写的不好望多多谅解 🙇,写错的地方望指出,定会认真改进 😊,偶尔也会在自己的公众号『前端也能这么有趣』发一些比较有趣的文章,有兴趣的也可以关注下。在此谢谢大家的支持,我们下文再见 🙌。

目录
相关文章
|
2月前
|
安全 UED
再次上演“空间魔法”,方太重新定义水槽洗碗机的能力边界
9月25日,方太在北京品牌超级体验店发布了全新一代水槽洗碗机Y系列,引发广泛关注。这款产品集水槽、洗碗机、果蔬净化机于一体,解决了传统洗碗机安装复杂、空间占用大等问题,尤其适合中国家庭厨房。自2015年推出首代水槽洗碗机以来,方太通过创新设计,如双层可翻转水流清洗系统和自动顶门透气干燥系统,大幅提升用户体验。此次Y系列不仅解决了洗锅难题,还增加了多功能料理台功能,进一步优化了厨房空间利用。方太凭借持续的技术创新和对中国家庭需求的深刻理解,成功引领了洗碗机市场的变革。
|
图计算 缓存 存储
从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践
在线图计算就是将流式计算与图计算结合起来,能做到进行实时的图计算的技术。蚂蚁金服在这个方向上经过多年研发,在关键技术上做出了突破性的创建,并形成了面向金融场景的解决方案。
8518 0
从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践
|
6月前
leetcode-130:被围绕的区域
leetcode-130:被围绕的区域
31 0
|
6月前
|
分布式计算 安全 算法
多方协同计算:2B技术新方向
随着2B应用的深入发展,出现了新型的分布式商业的业务形态,传统的中心化的CS技术已经不能满足需要。
多方协同计算:2B技术新方向
|
存储 边缘计算 人工智能
打破边界,谁来定义未来云上攻防?
打破边界,谁来定义未来云上攻防?
137 0
leetcode 130 被围绕的区域
leetcode 130 被围绕的区域
68 0
leetcode 130 被围绕的区域
|
弹性计算 运维 资源调度
服务网格定义企业上云新路径! | Forrester X 蚂蚁集团 发布服务网格白皮书
在常态化混合异构环境下,面对云原生应用路径的多样化趋势与全维度挑战,企业必须将服务网格技术与微服务有效结合,才能真正释放云原生技术的红利。
服务网格定义企业上云新路径! | Forrester X 蚂蚁集团 发布服务网格白皮书
|
边缘计算 安全 物联网
欧拉和鸿蒙打通后,华为如何界定二者边界?
9 月 25 日,在 Huawei Connect 2021 华为全联接大会(点击查看2021华为全联接大会专题报道)第三日主题演讲中,华为计算产品线总裁邓泰华宣布华为开源操作系统欧拉(openEuler)全新发布。全新升级的欧拉提出全栈原子化解耦,支持版本灵活构建、服务自由组合,通过一套架构灵活支持南向多样性设备、北向全场景应用,可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备。
211 0
欧拉和鸿蒙打通后,华为如何界定二者边界?