思路
- 对二维数组进行排序
- 假设数组为M行N列,
if (nums[i][j] != i*N+j) return i*N+j
Class Solution{
public int findNum(int[][] nums){
Arrays.sort(nums, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
if (o1[0] == o2[0])
return o1[1] - o2[1];
return o1[0] - o2[0];
}
});
int M = nums.length;
int N = nums[0].length;
for(int i = 0;i < M;i++){
for(int j = 0;j < N;j++){
if(nums[i][j] != i*N+j) return i*N+j;
}
}
return M*N;
}
}
本文介绍了一种对二维数组进行排序的方法,并通过一个具体的算法实现来查找数组中不符合排序规则的元素位置。该方法首先使用Java内置的排序功能对数组进行排序,然后遍历数组检查每个元素是否符合其应有的位置,若不符合则返回该元素的位置。
7万+

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



