碼上生花,echarts 作品展示賽正式啟動!>>>
給定乙個二維陣列,其每一行從左到右遞增排序,從上到下也是遞增排序。給定乙個數,判斷這個數是否在該二維陣列中。
consider the following matrix:
[ [1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]given target = 5, return true.
given target = 20, return false.copy to clipboarderrorcopied
要求時間複雜度 o(m + n),空間複雜度 o(1)。其中 m 為行數,n 為 列數。
解題思路於它的數一定在其下邊。因此,從右上角開始查詢,就可以根據 target 和當前元素的大小關係來縮小查詢區間,當前元素的查詢區間為左下角的所有元素。
跟著斷點走一遍思路非常清晰
package com.janeroad;
/** * created on 2020/4/27.
* * [@author]( ljn
*///給定乙個二維陣列,其每一行從左到右遞增排序,從上到下也是遞增排序。給定乙個數,判斷這個數是否在該二維陣列中。
public class test1
return false;
}public static void main(string args) ,,,,};
test1 test1=new test1();
system.out.println(test1.find(5,arr));
system.out.println(test1.find(10,arr));
system.out.println(test1.find(27,arr));}}
劍指offer 二維陣列
題目 在乙個二維陣列中每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。完成乙個函式,輸入這樣的陣列和乙個整數,判斷陣列中是否含有該整數。思路 由於該二維陣列從左到右,從上到下均為順序遞增的。因此右下角與左上角的數字均大於或小於其周圍數字,如果選擇改組作為起始點,則無法確定下一...
劍指offer 二維陣列中查詢
在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和一 個整數,判斷陣列中是否含有該整數。public class solution 因為陣列每一行都按照從左到右遞增的順序排序,每一列都按照從上到下...
劍指offer 二維陣列中查詢
從今天開始每天一題,除了節假日。在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution return false class solut...