《劍指offer(1)》二維陣列的查詢

2021-10-24 08:44:59 字數 863 閱讀 7159

題目描述:

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

題目分析:

方法一:把每一行看成有序遞增的陣列,利用二分查詢。

function

find

(target, array)

}return

false

}

方法二:利用二維陣列由上到下,由左到右遞增的規律,那麼選取右上角或者左下角的元素a[row][col]與target進行比較,當target小於元素a[row][col]時,那麼target必定在元素a所在行的左邊,即col–;當target大於元素a[row][col]時,那麼target必定在元素a所在列的下邊,即row++;
while

(line=

readline()

)function

find

(target, array)

else

if(array[i]

[j]>target)

else

}return

false

}

方法三:暴力法,遍歷陣列中的所有元素,找到是否存在。
function

find

(target, array)

const colnum = array[0]

.length;

for(

let i =

0; i < rownum; i++)}

return

false

;}

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列是有序的,比如下面的資料 1 2 3 4 5 6 7 8 9可以直接利用左下角數字開始查詢 大於 比較...

劍指offer 1 二維陣列查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數 首先是先模擬獲取隨機遞增陣列 public static int getarray int n,int m 初...

劍指Offer 1 二維陣列查詢

劍指offer 1 二維陣列查詢 馬上也要畢業開始找工作了,自己程式設計能力實屬弟弟,笨鳥先飛,雖然飛得好像也不早了,打算每天做一道吧,爭取暑假前做完。準備秋招了,目前就是在牛客網上做題為主 題目要求是這樣 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從...