劍指offer 二維陣列中的查詢

2021-10-02 17:51:29 字數 822 閱讀 8947

題目描述

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

思路

按照行和列查詢,初始時讓target與array的左下角或者右上角的數去比較,選取這兩個位置的原因是可以根據target與數的大小關係排除不可能的行與列。

初始選取右上角的數進行比較:

a) 如果target>array[i][j],則i++;

b) 如果target需注意的是:

在進行比較之前,要先判斷陣列是否為空以及target是否包含在陣列表示的範圍內。

**如下:

class

solution

if(target

[0]||target>array[m-1]

[n-1])

int i=0;

int j=n-1;

while

(i=0)

if(target

[j])

else

if(target>array[i]

[j])

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