华为OD2025A卷 - 洞穴探险(200分)

华为OD2025年3月16号切换正式机考题库为2025A卷

华为OD2025年A卷题库目录

题目描述

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

仪器记录坐标时,坐标的数据格式为(x,y),如(1,2)、(100,200),其中0<x<1000,0<y<1000。同时存在非法坐标,如(01,1)、(1,01)、(0,100)属于非法坐标。

设定探险队总部的坐标为(0,0),某位置相对总部的距离为:xx+yy。

若两个坐标的相对总部的距离相同,则第一次到达的坐标为最远的足迹。

若记录仪中的坐标都不合法,输出总部坐标 (0,0) 。

备注:

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

输入描述

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

如:derga13fdsf3(100,200)f2r3rfasf(300,400)

输出描述

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

如:(300,400)

用例1

输入

ferg(3,10)a13fdsf3(3,4)f2r3rfasf(5,10)

输出

(5,10)

说明

字符串包含三个坐标 (3,10), (3,4), (5,10)
计算距离:(3,10) = 109,(3,4) = 25,(5,10) = 125
最远的是 (5,10),距离为 125

用例2

输入

asfefaweawfaw(0,1)fe

输出

(0,0)

说明

坐标 (0,1) 不合法,因为 x=0 不满足 0<x<1000
没有合法坐标,所以输出 (0,0)

题解

思路:正则表达式练习题

  • 通过正则表达式匹配出输入中的字符串。如果不存在直接输出(0,0)
  • 检查匹配出的坐标字符串是否符合题目描述要求。
  • 在满足要求的坐标中找出(x,y)计算x*x +y *y值最大的坐标作为结果。

代码实现

C++、Java、Python、JavaScript、Go实现源码和详细实现思路解析,点击跳转查看

posted @   coder_gather  阅读(44)  评论(0)    收藏  举报
相关博文:
阅读排行:
· 使用TypeScript开发微信小程序(云开发)-入门篇
· 没几个人需要了解的JDK知识,我却花了3天时间研究
· C#高性能开发之类型系统:从 C# 7.0 到 C# 14 的类型系统演进全景
· 管理100个小程序-很难吗
· 在SqlSugar的开发框架中增加对低代码EAV模型(实体-属性-值)的WebAPI实现支持
点击右上角即可分享
微信分享提示