我有我的代码问题,我想找到数组中不重复的数字,但我不知道如何!
1 2
3 4
1 4
例如,在本例中,我希望输出为数字3和2:
我用这个代码得到数组,它就像一个矩阵
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
cam[i][j] = in.nextInt();
}
}
像这样的东西,用来比较每一个:
for (int i = 1; i <= 3; i++) {
if (cam[i][2] != cam[i+1][2]) {
y = cam[i+1][2];
break;
}
}
更新:下面是完整的代码
int x=0,y=0;
int[][] cam = new int[10][10];
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 2; j++) {
cam[i][j] = in.nextInt();
}
}
for (int i = 1; i <= 3; i++) {
if (cam[i][1] != cam[i+1][1]) {
x = cam[i+1][1];
break;
}
for (int i = 1; i <= 3; i++) {
if (cam[i][2] != cam[i+1][2]) {
y = cam[i+1][2];
break;
}
}
System.out.println(x+" "+y);
3条答案
按热度按时间ezykj2lf1#
数组索引为0,1,2,…,长度为1。
搜索代码:
如果在你的课程中使用alread set/map,那么会有更聪明的解决方案。但是这种for-i2-for-j2回路也可以优化。
knpiaxh12#
假设您的代码只在第1列和第2列中查找(第0列中有其他数据吗?):
xwbd5t1u3#
你可以
collect
从这个2d数组中复制一个Map,然后在这个Map上迭代并应用filter
对于非重复元素:另请参阅:如何有效地查找数组中的重复元素?