《劍指offer》二維陣列中的查詢

2021-07-12 05:08:13 字數 599 閱讀 3587

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

array: 待查詢的二維陣列

target:查詢的數字

查詢到返回true,查詢不到返回false

class solution 

};

這道題類似於一維陣列的二分查詢。由題目可知矩陣是有序的,從左下角看,向上是遞減,向右是遞增(也可以從右上角看,向左是遞減,向下是遞增)。

所以從左下角開始或者從右上角開始查詢。對於從左下角開始,當查詢位置的數比要查詢的數大,如果矩陣中該數存在,那麼它將在該位置的上方,所以y座標–;相反如果現在的位置上的書比要查詢的數小,那麼它將在該位置的右方,所以x座標++。當所查詢的位置超過矩陣的座標範圍,查詢失敗(陣列中不存在該數)。同樣也可以通過右上角開始查詢。

class solution 

else

if(array[i][j] > target)

else

}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 思路有三種,...