问题描述:
Java怎样快速分出一个数组中相同元素的下标,
例如如下数组 int [] temp = {1,2,5,8,6,2,11,15,2,6,2,11,15,5,1,8,6};
得到如下结果:
1 --> [0,14]
2 --> [1,5,8,10]
5 --> [2,13]
6 --> [4,9,11]
.
对于这问题的解决方式,我个人有一想法,不知如何实现较好:
第一步将数组转换成如下状态的二维数组:
int [][] temp = {
{01,02,05,08,06,02,11,15,02,06,02,11,15,05,01,08,06},
{00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16}
}
第二步先对第一组数排序,然后第二组的数跟着第一组的数走,得到如下结果:
int[][] temp = {
{01,01,02,02,02,02,05,05,06,06,.},
{00,14,01,05,08,10,02,13,04,09,.}
}
第三步便可通过第一组数中相同数的下标到第二组数中相应的值
但现在问题的难点在第二该如何实现?
例如如下数组 int [] temp = {1,2,5,8,6,2,11,15,2,6,2,11,15,5,1,8,6};
得到如下结果:
1 --> [0,14]
2 --> [1,5,8,10]
5 --> [2,13]
6 --> [4,9,11]
.
对于这问题的解决方式,我个人有一想法,不知如何实现较好:
第一步将数组转换成如下状态的二维数组:
int [][] temp = {
{01,02,05,08,06,02,11,15,02,06,02,11,15,05,01,08,06},
{00,01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16}
}
第二步先对第一组数排序,然后第二组的数跟着第一组的数走,得到如下结果:
int[][] temp = {
{01,01,02,02,02,02,05,05,06,06,.},
{00,14,01,05,08,10,02,13,04,09,.}
}
第三步便可通过第一组数中相同数的下标到第二组数中相应的值
但现在问题的难点在第二该如何实现?
问题解答:
我来补答展开全文阅读