华为OD机试真题 JavaScript 实现【最远足迹】【2022Q4 100分】,附详细解题思路

在这里插入图片描述

一、题目描述

某探险队负责对地下洞穴进行探险。探险队成员在进行探险任务时,随身携带的记录器会不定期地记录自身的坐标,但在记录的间隙中也会记录其他数据。探索工作结束后,探险队需要获取到某成员在探险过程中相对于探险队总部的最远的足迹位置。

  1. 仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0<x<10000<y<1000。同时存在非法坐标,如(01,1)、(1,01),(0,100)属于非法坐标;
  2. 设定探险队总部的坐标为(0,0),某位置相对总部的距离为:x*x+y*y
  3. 若两个座标的相对总部的距离相同,则第一次到达的坐标为最远的足迹;
  4. 若记录仪中的坐标都不合法,输出总部坐标(0,0)。

备注:

不需要考虑双层括号嵌套的情况,比如sfsdfsd((1,2))

二、输入描述

字符串,表示记录仪中的数据。

三、输出描述

字符串,表示最远足迹到达的坐标。

如: (10,20)

  • 输入:asdf(7,8)qwertjh45(5,7)fa65jhsdf23fg(6,8)
  • 输出:(7,8)

四、解题思路

  1. 读取输入的字符串;
  2. 定义变量 r 和 l,分别表示括号的右边界和左边界;
  3. 定义一个列表 list 存储合法的坐标;
  4. 定义一个二维列表 lists 存储所有合法的坐标;
  5. 遍历字符串,当遇到左括号时,记录左边界 l 的位置;当遇到右括号时,记录右边界 r 的位置;
  6. 如果左右边界都不为零,则表示找到了一个合法的坐标,将其提取出来并判断是否合法;
  7. 如果坐标合法,则将其加入到 list 中,并将 list 加入到 lists 中;
  8. 重置左右边界 l 和 r;
  9. 判断 lists 的长度,如果为零,则输出总部坐标 (0,0);否则,根据坐标的相对距离排序 lists,取第一个坐标作为最远足迹的位置;
  10. 输出最终结果。

五、JavaScript算法源码

function findFarthestFootprint(s) {
    const regex = /\((\d+),(\d+)\)/g;
    let match;
    let farthestDistance = 0;
    let farthestCoordinate = [0, 0];

    while ((match = regex.exec(s)) !== null) {
        const x = parseInt(match[1]);
        const y = parseInt(match[2]);

        if (isValidCoordinate(x, y)) {
            const distance = x * x + y * y;
            if (distance > farthestDistance) {
                farthestDistance = distance;
                farthestCoordinate = [x, y];
            }
        }
    }

    return `(${farthestCoordinate[0]},${farthestCoordinate[1]})`;
}

function isValidCoordinate(x, y) {
    return x > 0 && x < 1000 && y > 0 && y < 1000 && !startsWithZero(x) && !startsWithZero(y);
}

function startsWithZero(num) {
    return num.toString().startsWith("0");
}

六、效果展示

1、输入

asdf(7,8)qwertjh45(5,7)fa65jhsdf23fg(6,8)

2、输出

(7,8)
在这里插入图片描述


🏆下一篇:华为OD机试真题 JavaScript 实现【相对开音节】【2022Q4 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JavaScript)真题(A卷+B卷)

每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/27166.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mujoco210 Ubuntu 22.04配置安装(一)

目录 .1 下载 1.1 解压 1.2 许可问题 1.3 环境配置 1.4 测试mujoco .2 安装mujoco-py 2.1 conda激活虚拟环境\或新创建一个环境 2.2 下载mujoco-py ​编辑 2.3 配置环境变量 2.4 测试mujoco-py 2.5 测试时的一些报错处理 2.5.0 command /usr/bin/gcc failed with…

读写ini配置文件(C++)

文章目录 1、为什么要使用ini或者其它(例如xml,json)配置文件&#xff1f;2、ini文件基本介绍3、ini配置文件的格式4、C读写ini配置文件5、 代码示例6、 配置文件的解析库 文章转载于&#xff1a;https://blog.csdn.net/weixin_44517656/article/details/109014236 1、为什么要…

docker harbor私有仓库部署

docker harbor私有仓库部署 docker system prune -a 删除停掉的服务&#xff0c;自定义网络等。 docker 私有仓库 docker配置文件 vim /etc/docker.daemon.josn { “insecury-registries”: ["192.168.232.10:5000]&#xff0c;#指定私有仓库 } docker pull/push 19…

防雪崩利器之Hystrix

Hystrix作为一个容错组件&#xff0c;本文从它的作用、熔断设计、工作流程和应用方面一一道来&#xff0c;帮助大家了解如何使用。 1、什么是灾难性雪崩效应 要讲Hystrix&#xff0c;我们就要讲一种场景&#xff0c;在微服务架构中&#xff0c;如果底层服务出现故障&#xff0…

BBA EDI 项目数据库方案开源介绍

近期为了帮助广大用户更好地使用 EDI 系统&#xff0c;我们根据以往的项目实施经验&#xff0c;将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后&#xff0c;只需要下载我们整理好的示例代码&#xff0c;并放置在知行之桥指定的工作区中&#xff0c;即可开始使用。 …

Linux操作系统——第三章 基础IO

目录 接口介绍 open 文件描述符fd 0 & 1 & 2 文件描述符的分配规则 重定向 FILE 理解文件系统 inode ​编辑 理解硬链接 软链接 动态库和静态库 静态库与动态库 生成静态库 库搜索路径 生成动态库 使用动态库 运行动态库 使用外部库 接口介绍 o…

让小白也能看懂,ChatGPT入门级科普“十问十答”

由于现在GPT火热&#xff0c;360老板已经开始总动员. 白领的日常工作肯定是要发生颠覆性变化的。下面我们就通过自问自答的方式带领小白用户了解一下ChatGPT. 1、ChatGPT到底是什么&#xff1f; ChatGPT 是一个由美国人工智能公司 OpenAI 开发的自然语言处理&#xff08;NLP&…

湖南大学OS-2019期末考试解析

【特别注意】 答案来源于@wolf以及网络 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 这张卷子有点老了,部分题目可能有用。如果仔细研究应该会有所收获。 【试卷与答案】 一、选择题(15%) 1、下面哪些行为会导致CPU进入内核模式 C (1)…

信噪比对重构算法的影响

前面分析了MP算法、OPM算法和SP算法的原理以及采样率对三种算法的影响。在实际的应用中&#xff0c;会混入噪声&#xff0c;没有噪声那是理想的情况&#xff0c;这里就研究一下信噪比对重构信号产生的MSE的影响。 1、 信噪比对MP算法的影响 首先研究信噪比对MP算法产生的影响…

基于VITS-fast-fine-tuning构建多speaker语音训练

1 VITS模型介绍 VITS&#xff08;Variational Inference with adversarial learning for end-to-end Text-to-Speech&#xff09;是一种语音合成方法&#xff0c;它使用预先训练好的语音编码器 (vocoder声码器) 将文本转化为语音。 VITS 的工作流程如下&#xff1a; &#xff0…

爆料,华为重回深圳,深圳第二个硅谷来了-龙华九龙山未来可期

房地产最重要的决定因素&#xff1a;科技等高附加值产业&#xff01;过去几年&#xff0c;发生的最大的变化就是——科技巨头对全球经济的影响力越来越大&#xff0c;中美之间的博弈&#xff0c;由贸易战升级为科技战&#xff0c;就是基于此原因。人工智能、电子信息技术产业、…

实验3 Tomasulo算法【计算机系统结构】

实验3 Tomasulo算法【计算机系统结构】 前言推荐实验3 Tomasulo算法1 实验目的2 实验平台3 实验内容和步骤4 实验总结与心得 最后 前言 2023-6-9 9:19:50 以下内容源自《【计算机系统结构】》 仅供学习交流使用 推荐 实验2 指令调度和延迟分支【计算机系统结构】 实验3 To…

C++算法:有向无环图拓扑排序(领接链表)

文章目录 前言一、邻接表二、代码1、生成图2、出度、入度计算3、拓扑排序 总结 前言 前文有向无环图实现游戏技能树中我们使用了矩阵存储图的关系&#xff0c;可以称之为邻接矩阵。显然&#xff0c;链表也是可以实现的。在图结构入门一文中&#xff0c;我们也提到了链表存储的…

这里推荐几个前端动画效果网站

1. AnimistaAnimista 是一个 CSS 动画/转场库和在线工具。它有许多现成的 CSS 动画片段可以直接使用,也可以在线定制动画。 网站地址:Animista - On-Demand CSS Animations Library 2. Animate.cssAnimate.css 是一个免费的 CSS 动画库,里面有 Attention Seekers 、 Bouncing E…

android 如何分析应用的内存(五)

android 如何分析应用的内存&#xff08;五&#xff09; 接上文 lldb的工具篇的GUI部分。分成两部分&#xff1a; vscode 的LLDBas的LLDB 接下来是as的LLDB as的LLDB 为了进行LLDB的调试&#xff0c;需要对as进行配置&#xff0c;事实上&#xff0c;每一个在AS中编辑的应…

王道考研计算机网络第一章知识点汇总

以上内容为1.1概念与功能的重点知识点 以下为1.2组成与分类&#xff1a; P2P模式下每台主机既可以是客户也可以是服务器&#xff0c;主机越多资源分享速度越快。 1.3标准化工作及相关组织 1.4性能指标 带宽只是指的是从主机内部往传输链路上投送数据的最大能力(从入口端放入数…

【RISCV】RISCV e-906实现Tickless

Tickless 最初设计的思想是,能被任务唤醒,也能被中断唤醒 参考文章: freeRTOS 低功耗模式 和 空闲任务 FreeRTOS源码分析与应用开发09:低功耗Tickless模式 FreeRTOS学习十(低功耗) 【STM32】NVIC与中断控制 之 sysTick定时器 M3,M4实现tickleess的做法: M3,M4的机制:…

【ROS2】使用摄像头功能包 usb_cam

1、准备工作 因为本人使用VirtualBox虚拟机运行的ROS2&#xff0c;所以首先要让摄像头可以在虚拟机中运行 1.1 安装VirtualBox扩展包 1&#xff09;下载地址&#xff1a;https://www.virtualbox.org/wiki/Downloads&#xff0c;注意扩展包的版本要和虚拟机的版本匹配 2&…

基于STM32F103C8T6的超声波测距——串口输出

文章目录 前言一、超声波模块介绍1、产品特点2、超声波模块的时序图 二、STM32CubeMx创建工程1、配置项目2、keil代码设置3、效果 三、总结四、参考资料 前言 环境&#xff1a; 1、硬件&#xff1a;stm32f103c8t6 核心板 2、软件&#xff1a;STM32CubeMX 6.4.0 3、软件&#xf…

世界研发管理组织在美国成立,中国籍研发管理专家江新安当选总干事

World R&D Management Organization世界研发管理组织&#xff08;WRDMO&#xff09;由来自世界各地的研发管理研究组织&#xff0c;创新技术研究机构&#xff0c;院校以及研发管理咨询机构联合发起。是一个具有开放性&#xff0c;无党派性&#xff0c;非营利性的国际先进研…