1. 二位陣列中的查詢(劍指offer)

落葉歸根的豬發表於2020-11-29

關注公眾號:落葉歸根的豬。詳細分類了所有文章與知識,方便掌上查閱~

 

1. 二位陣列中的查詢

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

1.1 舉例與思路:

        因為陣列已經是左到右,上到下,小到大排好序了的。注意一個規律,每一列中下>上,列之間,後列>前列。

        我們首先選取起始點,首先選取陣列中右上角的數字,因為後面的列首位數字最有代表性,該數字不滿足,則整列不滿足。

        如果該數字等於要查詢的數字,查詢過程結束;如果該數字大於要查詢的陣列,剔除這個數字所在的列;如果該數字小於要查詢的數字,剔除這個數字所在的行。也就是說如果要查詢的數字不在陣列的右上角,則每一次都在陣列的查詢範圍中剔除一行或者一列,這樣每一步都可以縮小查詢的範圍,直到找到要查詢的數字,或者查詢範圍為空。

 

1.2 程式碼+結果:

相關文章