我想完成以下任务:
你会得到一个数组。如果按数组的长度对数组进行排序,您将看到它们的长度值是连续的。但是缺少一个数组!您必须编写一个方法,返回缺失数组的长度。
public static int getLengthOfMissingArray(Object[][] arrayOfArrays) {
if (arrayOfArrays.length == 0) { //array empty
return 0;
}
for (int i = 0; i < arrayOfArrays.length; i++) {
//array in the array empty
if (arrayOfArrays[i].length == 0) {
return 0;
}
if (arrayOfArrays[i].length != arrayOfArrays[i + 1].length - 1) {
return arrayOfArrays[i].length + 1;
}
}
return 0;
}这适用于排序数组。所以我只需要一种方法来根据它们的长度来订购。
是否有其他方法根据二维数组的(升序)长度对其进行排序?
例如:[[1,2], [1,5,7],[4]] -> [[4], [1,2], [1,5,7]]
Arrays.sort(arr)不起作用,我得到:
Ljava.lang.Object;不能转换为java.lang.Comparable
发布于 2021-01-19 14:19:04
使用此方法:
public static int[][] sort(int[][] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = i + 1; j < arr.length; j++) {
if (arr[j].length < arr[i].length) {
// If the length of the array in j less than the
// length of the array in i, replace between them
int[] temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}https://stackoverflow.com/questions/65791537
复制相似问题