一、题目描述
给一个二维数组nums,对于每一个元素nums[i],找出距离最近的且值相等的元素,输出横纵坐标差值的绝对值之和,如果没有等值元素,则输出-1。
例如
输入数组nums为
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 2 3 2
二、输入描述
- 输入第一行为二维数组的行
- 输入第二行为二维数组的列
- 输入的数字以空格隔开
三、输出描述
数组形式返回所有坐标值。
补充说明
- 针对数组num[i][j],满足0<i<=100;0<j<=100;
本文介绍了一道华为在线开发者测试(OD)的Java编程题,要求实现找到二维数组中每个元素距离最近的等值元素,输出坐标差值的绝对值之和。文章提供了详细的解题思路、Java代码实现以及输入输出示例。
订阅专栏 解锁全文
803

被折叠的 条评论
为什么被折叠?



