劍指offer 二維陣列中的查詢的解析與實現

2021-07-13 12:09:19 字數 869 閱讀 2661

題目:

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

解析:

(1)該陣列是有序的  從左到右 從上到下 都是遞增的 這是問題的關鍵

(2)從左下角或者右上角查詢

從左下角查詢:target比當前元素大,右移。

target比當前元素小,上移。

從右上角查詢:target比當前元素大,下移。

從左下角開始查詢的實現

public boolean find(int  array,int target) 

else if(array[i][j] < target)//如果target小於a[i][j],則行不變,列右移

else

return true;

}return false;

}

從右上角開始查詢的實現

public boolean find(int  array,int target) 

else if(target > array[i][j])//如果target大於a[i][j],列 不變 行下移

else

return true;

}return false;

}

劍指offer 二維陣列中查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和一 個整數,判斷陣列中是否含有該整數。public class solution 因為陣列每一行都按照從左到右遞增的順序排序,每一列都按照從上到下...

劍指offer 二維陣列中查詢

從今天開始每天一題,除了節假日。在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution return false class solut...

劍指offer 二維陣列中查詢

要求如下 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 示例如下 7,1,2,8,9 2,4,9,12 4,7,10,13 6,8,11,15 思路有三種,...