劍指offer 面試題3 二維陣列中的查詢

2021-07-16 17:14:58 字數 477 閱讀 7715

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

示例陣列:

12 89

24 912

47 1013

68 1115

分析:若從左上角開始,則該證書可能在當前數字右邊,也可能在當前數字下邊,並且這兩個區域還有重疊。

此題從右上角入手開始判斷,則會簡單很多。

**如下:

bool find(int *matrix,int rows,int columns,int number)

else if(matrix[row * columns + column] > number)

--column;

else

++row;

} }return found;

}

劍指offer 面試題3 二維陣列的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。class solution else if array row col target col else row return ...

劍指offer面試題3 二維陣列查詢問題

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。暴力破解方式也就是對二維陣列中的每個元素逐個檢查,結束條件為找到和目標值相等的元素或者查詢到最後乙個元素。對於乙個行列數都為n的二維陣...

劍指offer面試題 二維陣列的查詢

思路 當我們看到這道題的第一反應應該是遍歷這個二維陣列,逐個進行查詢,這樣雖然可以得到結果但是時間複雜度較大,並且沒有用到題目中給我們的線索,我們可以看到該二維數字是按照一定順序排列的。我們可以把這個四行四列的二維陣列看做乙個4 4的方格,先找出右上角的數字,如果右上角的數字是我們要找的數字就結束,...