算法题(3)

简介: 算法题(3)

题目

在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。
移动顺序由字符串 moves 表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。
如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false。
注意:机器人“面朝”的方向无关紧要。 “R” 将始终使机器人向右移动一次,“L” 将始终向左移动等。此外,假设每次移动机器人的移动幅度相同。
链接:https://leetcode.cn/problems/robot-return-to-origin

解题

function(moves) {
   
    let count = {
   U:0,D:0,L:0,R:0};
    for(let i=0;i<moves.length;i++){
   
        count[moves[i]]++;
    }
    return count.U === count.D && count.L === count.R;

};
AI 代码解读

解析

其实这道题就是统计向四个方向移动的次数,如果上和下次数相等,左和右次数相等,那么机器人就能回到原点。

相关文章
算法
一、算法 常见的图查找算法包括: 1. 深度优先搜索(DFS):从图中的一个节点开始,沿着一条路径一直深入直到无法再深入为止,然后回溯到上一个节点,继续深入其他路径,直到找到目标节点或遍历完所有节点。 2. 广度优先搜索(BFS):从图中的一个节点开始,先访问它的所有邻居节点,然后再依次访问邻居的邻居节点,直到找到目标节点或遍历完所有节点。 3. Dijkstra算法:用于在带权有向图中找到从一个节点到其他节点的最短路径。该算法通过不断更新节点的最短距离来逐步找到最短路径。 4. A*算法:类似于Dijkstra算法,但在计算最短路径时加入了启发式函数,用于估计目标节点的距离,从而加速搜索过程
413 0
秒懂算法 | 基环树
图论是一个“巨大”的专题,有大量的知识点,有众多广为人知的问题,有复杂的应用场景。 图论算法常常建立在复杂的数据结构之上。
415 0
秒懂算法 | 基环树
什么是算法?
当人们提到“算法”一词,往往就会把它们当成专属于“人工智能”的范畴,很多专业的计算机人士也是,提起算法就头疼,不知道如何学习算法,慢慢的对算法就会失去兴趣,算法不仅仅是计算机行业特有的,在我们的生活中也处处存在着算法,算法是专注于解决问题的过程和方法。
206 1
什么是算法?
插值查找算法
插值查找算法又称插值搜索算法,是在二分查找算法的基础上改进得到的一种查找算法。
302 0
算法题:干草堆
贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。 开始时,共有 N 个空干草堆,编号 1∼N。 约翰给贝茜下达了 K 个指令,每条指令的格式为 A B,这意味着贝茜要在 A..B 范围内的每个干草堆的顶部添加一个新的干草捆。
92 0
超实用的算法小技巧
本篇文章我们将介绍一些超级实用的算法小技巧,灵活使用这些算法小技巧可以帮助我们更好的解决遇到的问题,让我们的时间复杂度,空间复杂度大大降低,有效的提高我们的编程能力。
176 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等