来源
描述
一个2D平面上有一堆雷达(雷达有x, y坐标,以及能探测到的范围r半径)。现在有一辆小车要从y = 0和y = 1的区间里面通过并且不能被雷达探测到。若被检测到,输出YES,否则输出NO。(可以认为,小车是一条长度为1的线段,沿直线从x = 0 向右前进)
- 雷达数量为n,n <= 1000。
- 雷达的坐标x为非负整数,y为整数,r为正整数。
样例
给出 coordinates = [[0,2]], radius = [1], 返回 “NO”。
1 | 解释: |
给出 coordinates = [[0,2],[1,2]], radius = [1,2], 返回 “YES”。
1 | 解释: |
解题思路
题目好复杂啊,其实就是判断一个圆有没有覆盖x轴.
由我们的数学知识可以知道,直接用(圆心坐标的y轴的绝对值)减去半径,如果小于等于0,则说明这个圆覆盖到了x轴.
否则则认为没有覆盖.
实现代码
1 | public String radarDetection(Point[] coordinates, int[] radius) { |
完。
ChangeLog
2019-01-04 完成以上皆为个人所思所得,如有错误欢迎评论区指正。
欢迎转载,烦请署名并保留原文链接。
更多学习笔记见个人博客——>呼延十