思路
- 对二维数组进行排序
- 假设数组为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;
}
}