請在Java中編寫一個方法,它將接收一個矩陣(int [] []矩陣)作爲輸入並且應該從矩陣中找到所有局部最大值。矩陣中的局部最大值是一個比所有直接鄰居都大的數字。該方法應返回找到的所有本地最大號碼的位置列表。從矩陣中找到所有局部最大值
我想這代碼,以使這一點,但不知道這種想法是正確與否的代碼
private static List<Integer> findLocal(int[][] matrix)
{
List<Integer> locals = new ArrayList<Integer>();
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
if (i < matrix.length - 1 && j < matrix[0].length - 1) {
if (matrix[i][j] < matrix[i + 1][j] && matrix[i][j] < matrix[i][j + 1] && matrix[i][j] < matrix[i + 1][j + 1]) {
locals.add(i + j);
} else {
}
}
}
}
return locals;
}
你有什麼試過?這個算法的哪一部分你覺得困難?我們不會只爲你編碼;我們在這裏*幫助*。 – dlev
聽起來像功課。你到目前爲止嘗試過哪些具體問題? – flolo
也許他不知道在哪裏或如何開始? – mort