华为OD机试——AI面板识别(C++、Java、Python、JavaScript 深度解析)
题目背景
在工业制造领域,AI技术被广泛用于面板的自动化检测和故障排查,尤其是对面板上指示灯的位置和状态进行识别。然而,由于AI技术的识别误差,每次获取指示灯位置时可能存在细微偏差。在华为OD机试中的这道题目,就模拟了AI识别过程中可能出现的误差,要求我们对识别到的指示灯的位置进行排序,并输出结果。该问题涉及复杂的排序规则、坐标计算以及基于物理位置的逻辑推导,因此考察了考生的数据处理和算法设计能力。
题目描述
AI识别到了面板上的N个指示灯,任意两个灯的大小相同,且不重叠。每个指示灯通过左上角和右下角的坐标来描述位置,给定这些坐标后,我们需要将灯进行排序。排序规则如下:
- 首先按灯的
y
坐标从上到下排序(y
值越小表示灯越高)。 - 如果多个灯在同一行上(即两个灯的
y
坐标差值小于等于灯的半径),则再按x
坐标从左到右排序。