題目
在乙個n*n二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。
請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
舉例1
2342
3473
4784
589 找6,false
找5,true
分析
找6,從右上角開始 (也可以左下角)
右上角為[0,3] 因為4小於6,所以第0行被排除,下移。
右上角為[1,3] 因為7大於6,所以第3列被排除,左移。
右上角為[1,2] 因為4小於6,所以第1行被排除,下移。
右上角為[2,2] 因為7大於6,所以第2列被排除,左移。
右上角為[2,1] 因為4小於6,所以第2行被排除,下移。
右上角為[3,1] 因為5小於6,所以第3行被排除,下移。
此時出界,返回false。
複雜度o(n)
下移就是行++,左移就是列--
[行, 列]
相似題目
有序二維陣列的查詢
劍指offer原題,陣列從左到右,從上到下遞增,給定乙個數target找出這個數是否在該有序二維陣列裡面。找到的話返true,否則返回false。題目比較簡單就簡單說說思路,利用二維陣列的特性,我們把陣列看做乙個矩陣,從矩陣的右上角元素a i,j 開始找,如果a i,j target,則target...
在查詢有序二維陣列中查詢元素
解題思路 實現 public class sortedmatrixelementfinder return true private static class sortedmatrix public void excludethisrow public boolean islegalindex pu...
3 在有序二維陣列中查詢元素
題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解析 由於每一行是遞增的,每一列是遞增的,當遇到行列均有序時,除了考慮從左上角開始遍歷時,應該有從右上或者左下開始遍歷的新思...