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

目录
相关文章
|
图计算 缓存 存储
从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践
在线图计算就是将流式计算与图计算结合起来,能做到进行实时的图计算的技术。蚂蚁金服在这个方向上经过多年研发,在关键技术上做出了突破性的创建,并形成了面向金融场景的解决方案。
8458 0
从310到蚂蚁森林,蚂蚁金服在线图计算的创新与实践
|
2月前
leetcode-130:被围绕的区域
leetcode-130:被围绕的区域
22 0
|
存储 边缘计算 人工智能
打破边界,谁来定义未来云上攻防?
打破边界,谁来定义未来云上攻防?
103 0
|
Cloud Native 测试技术 数据库
【TICA解读】架构设计的本质:如何确定服务的边界
【TICA解读】架构设计的本质:如何确定服务的边界
178 0
【TICA解读】架构设计的本质:如何确定服务的边界
leetcode 130 被围绕的区域
leetcode 130 被围绕的区域
52 0
leetcode 130 被围绕的区域
|
弹性计算 运维 资源调度
服务网格定义企业上云新路径! | Forrester X 蚂蚁集团 发布服务网格白皮书
在常态化混合异构环境下,面对云原生应用路径的多样化趋势与全维度挑战,企业必须将服务网格技术与微服务有效结合,才能真正释放云原生技术的红利。
服务网格定义企业上云新路径! | Forrester X 蚂蚁集团 发布服务网格白皮书
|
人工智能 监控 安全
三个方向,一个目标,智慧社区在岳麓峰会上的头部论战
智慧社区这个词并不陌生,可智慧社区到底是什么,却没有几个人能讲得清楚。
|
算法 大数据 物联网
钉钉向上,技术向下——阿里云重新定义云计算价值
钉钉向上,技术向下——阿里云重新定义云计算价值
236 0
钉钉向上,技术向下——阿里云重新定义云计算价值
|
边缘计算 安全 物联网
欧拉和鸿蒙打通后,华为如何界定二者边界?
9 月 25 日,在 Huawei Connect 2021 华为全联接大会(点击查看2021华为全联接大会专题报道)第三日主题演讲中,华为计算产品线总裁邓泰华宣布华为开源操作系统欧拉(openEuler)全新发布。全新升级的欧拉提出全栈原子化解耦,支持版本灵活构建、服务自由组合,通过一套架构灵活支持南向多样性设备、北向全场景应用,可广泛部署于服务器、云计算、边缘计算、嵌入式等各种形态设备。
159 0
欧拉和鸿蒙打通后,华为如何界定二者边界?

热门文章

最新文章