面試題4 二維陣列中的查詢

2021-10-04 15:37:43 字數 1185 閱讀 4369

題目:

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

示例:

現有矩陣 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]

]給定 target = 5,返回 true。

給定 target = 20,返回 false。

思路1:二分查詢

**1:

bool

find

(int target, vectorint>

>array)

else

if(target[mid]

)else

return

true;}

}return

false

;}

思路2:根據陣列的屬性,我們可以知道最大值一定在右下角,最小值一定在左上角,因為它從左向右遞增,從上到下遞增。

**2:(帶主函式)

bool

find1

(int target, vectorint>

>array)

else

if(target[col]

)else

return

true;}

return

false;}

intmain()

for(

int i=

0;isize()

;i++)}

for(

int i=

0;isize()

;i++

) cout<} cout<<

find1(1

, a)

;}

拜拜!加油哦!(_

)。

面試題4 二維陣列中的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。bool find int matrix,int cols,int rows,int target bool find int ...

面試題4 二維陣列中的查詢

題目 二維陣列中的查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按 照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個 整數,判斷陣列中是否含有該整數。include bool find int matrix,int rows,int columns,int...

面試題4 二維陣列中的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下的遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。c 實現 includeusing namespace std bool find int numbers,int rows,...