劍指offer二維陣列中的查詢

2021-10-06 12:10:53 字數 566 閱讀 8532

今天你如約而至了嗎?每天至少一道,**的你我互相監督哦~上題:

題目描述

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

分析:就是遍歷陣列進行查詢是否存在這個數,而且這個陣列是從左上角到右下角遞增的,即左上角最小,右下角最大。有很多方法找到這個數:

1、直接兩個for迴圈遍歷陣列;也就是我們常說的暴力求解法,這個面試官是不喜歡的。

2、從左下角開始遍歷(從右上角也可以),左下角的數是一行中最小的,一列中最大的;

如果target>array[i][j],則第j列的數都比target小,則直接到下一列,j++;

如果target=0&&jarray[i][j])else

}return false;

}}牛客運行通過

執行記憶體:15836kb

這種方法就避免了乙個一去查詢,一次比較可能直接去掉一行或者一列,大大提高了效率。

歡迎各位互相交流哦~~

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