劍指 offer 二維陣列中的查詢 一看就懂

2021-10-05 22:37:26 字數 607 閱讀 4964

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

1.題目意思:遍歷陣列找到target即可。

2.第一種方法暴力,兩個for迴圈進行判斷,c++超時了哈哈哈。

3.第二種方法:從左下開始查詢(同理可以右上)

利用該二維陣列的性質:

改變個說法,即對於左下角的值 m,m 是該行最小的數,是該列最大的數

每次將 m 和目標值 target 比較:

當 m < target,由於 m 已經是該行最大的元素,想要更大只有從列考慮,取值右移一位

當 m > target,由於 m 已經是該列最小的元素,想要更小只有從行考慮,取值上移一位

當 m = target,找到該值,返回 true

用某行最小或某列最大與 target 比較,每次可剔除一整行或一整列

class solution 

return false;

}};

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