隔一段时间查找一次 golang_剑指 offer-04 二维数组中的查找
生活随笔
收集整理的這篇文章主要介紹了
隔一段时间查找一次 golang_剑指 offer-04 二维数组中的查找
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
算法名稱:二維數(shù)組中的查找
題目?jī)?nèi)容:在一個(gè)二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請(qǐng)完成一個(gè)函數(shù),輸入這樣的一個(gè)二維數(shù)組和一個(gè)整數(shù),判斷數(shù)組中是否含有該整數(shù)。
解題思路:
首先選取數(shù)組中右上角的數(shù)字。如果該數(shù)字等于要查找的數(shù)字,查找過程結(jié)束;如果該數(shù)字大于要查找的數(shù)字,剔除這個(gè)數(shù)字所在的列;如果該數(shù)字小于要查找的數(shù)字,剔除這個(gè)數(shù)字所在的行。也就是說如果要查找的數(shù)字不在數(shù)組的右上角,則每一次都在數(shù)組的查找范圍中剔除一行或者一列,這樣每一步都可以縮小查找的范圍,直到找到要查找的數(shù)字,或者查找范圍為空。
例如,我們要在上述的二維數(shù)組中查找數(shù)字7的步驟如下圖所示:
實(shí)例代碼:
- Java
- Golang版
本題考點(diǎn):
- 考察面試者對(duì)二維數(shù)組的理解及編程能力。二維數(shù)組在內(nèi)存中占據(jù)連續(xù)的空間。在內(nèi)存中從上到下存儲(chǔ)各行元素,在同一行中按照從左到右的順序存儲(chǔ)。因此我們可以根據(jù)行號(hào)和列號(hào)計(jì)算出相對(duì)于數(shù)組首地址的偏移量,從而找到對(duì)應(yīng)的元素。
總結(jié)
以上是生活随笔為你收集整理的隔一段时间查找一次 golang_剑指 offer-04 二维数组中的查找的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java查看 被应用_java – 如何
- 下一篇: java切片_ java中一个极其强悍的