目录
写在前面
【华为机试真题Python】从入门到入职-真题列表导读
题目描述
给一个二维数组 nums ,对于每一个元素 nums[i] ,找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出 -1。
例如:
输入数组 nums 为
3
5
0 3 5 4 2
2 5 7 8 3
2 5 4 2 4
对于 num[0][0] = 0,不存在相等的值;
对于 num[0][1] = 3,存在一个相等的值,最近的坐标为 num[1][4],最小距离为 4;
对于 num[0][2] = 5,存在两个相等的值,最近的坐标为 num[1][1],故最小距离为 2;
对于 num[1][1] = 5,存在两个相等的值,最近的坐标为 num[2][1],故最小距离为 1。
故输出为
-1 4 2 3 3
1 1 -1 -1 4
1 1