題目:
在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
1 5 7 8 9
2 6 8 9 10
3 7 10 11 13
4 8 12 13 15
5 9 13 14 16
給定數字12,如上陣列找出12是否存在該陣列中
解決方法:
可以利用左下角或者右上角的優勢,比如左下角數字5上面的數字都比他小右邊的數字都比他大,右上角數字9下面的數字都比他大左邊的數字都比他小。
思路:如題要找的數字是12,此時我們使用右上角的優勢,右上角數字9,小於12,所以這個時候就在他的下一行找,此時下一行是數字10,同理比12小,往下一行找,下一行數字是13,此時13>12,故此從13的左邊找(13下面的肯定都比13大), 左邊是11,此時11<12,故從11的下面找(11的左邊肯定都比11小),下一行是數字13,此時13>12,故從13的左邊找(下面的肯定比13大),13的左邊是12,此時找到了12直接返回true即可。若是沒有找到則返回false
**:
1public
class
solution else
if(array[row][col] 14return
false;15
}16 }
劍指offer《一》 二維陣列中的查詢
劍指offer 一 二維陣列中的查詢 劍指offer 一 二維陣列中的查詢 題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。從上到下,如果最target比最右邊的數都大,從...
劍指offer(一) 二維陣列中的查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。該二維陣列是按照每行從左往右自增 每列從上到下遞增的順序排列的。所以可以考慮先從第一行開始遍歷每一行的第乙個元...
劍指Offer(一) 二維陣列中的查詢
這個系列是我在牛客網上刷 劍指offer 的刷題筆記,旨在提公升下自己的演算法能力。檢視完整的劍指offer演算法題解析 劍指offer完整習題解析 二維陣列中的查詢 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸...