二維陣列的查詢

2021-07-28 11:37:07 字數 821 閱讀 8875

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

思路:充分考慮到該陣列行與列遞增的特性。

首先選擇陣列中右上角的數字,如果該數字等於要查的數字,查詢過程結束;如果該數字大於要查詢的數字,剔除這個數字所在的列;如果該數字小於要查詢的數字,剔除這個數字所在的行。

演算法如下:

package swordoffer;

/** * created by l_kanglin on 2017/3/13.

*/public

class

test1

else

if(array[row][column]>target)

else

system.out.println("查詢後 "+array[row][column]);}}

return flag;

}public

static

void

main(string args), , , };

int target=4;

system.out.println(find(4,num));

}}

執行結果如下:

查詢前  3

查詢後 7

查詢前 7

查詢後 6

查詢前 6

查詢後 5

查詢前 5

查詢後 4

查詢前 4

true

二維陣列查詢

近日微博上看到乙個題目,二維陣列查詢 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢...

二維陣列查詢

天氣變化大,生病折騰了1個禮拜,寫篇部落格壓壓驚。題目源自於清明假期前夕舍友春招的筆試題,後來得知是劍指offer上的一道題,書上應該有解題思路啥的。題目重述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,...

二維陣列查詢

題目描述 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請 完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。解題思路 按照一般搜尋二維陣列的方法,從左到右,從上到下,比較難根據這個陣列的特點進行快速搜尋。可以從 右到左,從上到下,...