劍指offer 1 二維陣列中的查詢

2021-09-12 02:23:57 字數 560 閱讀 7500

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

原思路:原本自己考慮的是利用該陣列從左到右從上到下依次遞增的性質,對角線上的數字是後面區域(該數字往下或者往右邊區域)最小的數字。所以我先考慮兩種極端情況,即target小於左上角數字以及target大於右下面角數字。然後考慮在對角線某兩個數字之間,要麼不存在,如果存在則一定在其中較小的乙個數字的行和列上。依照這個思想編寫了程式,然而自己測試成功,已提交就error。於是轉換了思路。

最佳思路:參考網路上的思路,從左下角出發,若target更小則向上,若target更大則向右。在圖上進行搜尋,最終成功ac。

原思路:

class solution 

}if(target>array[dia-1][dia-1])

else if(array[position_x][position_y] < target)

}return false;

}};

Python 劍指offer(1)二維陣列的查詢

題目 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。環境python2.7.3 解 coding utf 8 class solution array 二維...

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列是有序的,比如下面的資料 1 2 3 4 5 6 7 8 9可以直接利用左下角數字開始查詢 大於 比較...

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 首先是先模擬獲取隨機遞增陣列 public static int getarray int n,int m 初...