- 題目:在一個二維數(shù)組中(每個一維數(shù)組的長度相同)称诗,每一行都按照從左到右遞增的順序排序照弥,每一列都按照從上到下遞增的順序排序铺厨。請完成一個函數(shù),輸入這樣的一個二維數(shù)組array和一個整數(shù)target煮落,判斷數(shù)組中是否含有該整數(shù)。補(bǔ)充完成下面的代碼:
public class Solution {
public boolean Find(int target, int [][] array) {
}
}
- 思路:二維數(shù)組從左到右遞增踊谋,從上到下遞增蝉仇,越靠近右下方的數(shù)越大,首先找到一個起始元素褪子,數(shù)組右上角的元素量淌,如果它大于target,向左移動尋找嫌褪,如果小于target呀枢,則向下移動尋找。
- 最終代碼如下:
public class Solution {
public boolean Find(int target, int[][] array) {
int len = array[0].length - 1;
int i = 0;
while (len >= 0 && i < array[0].length) {
if (array[i][len] > target) {
len--;
} else if (array[i][len] < target) {
i++;
} else {
return true;
}
}
return false;
}
}