今天你如約而至了嗎?每天至少一道,**的你我互相監督哦~上題:
題目描述
在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
分析:就是遍歷陣列進行查詢是否存在這個數,而且這個陣列是從左上角到右下角遞增的,即左上角最小,右下角最大。有很多方法找到這個數:
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 思路有三種,...