陣列1 二維陣列查詢

2021-07-15 15:07:02 字數 621 閱讀 3712

(面試題3)

【題目】在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。

請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

【思路】從給定的二維陣列,選取最右上角的數target,開始與二維陣列中數字進行比較。

arrs[i]>target,說明選取的數所在的列均大,去除該列(列-1);

arrs[i]說明選取的數所在的行均小,在下一行進行查詢(行+1),相等即為剛好查詢的數。

package com.exe1.offer;

/** * 【題目】在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。

* 請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

* 【思路】取二維陣列的最右上角的數,與指定數字比較。

* 相等即返回true;

* 大即去掉所在列;

* 小即去掉所在行。

* @author wgs

* */

public class arrayssearchelement else if(arr[i][j]

1 陣列 二維陣列的查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 思路一 暴力遍曆法進行查詢 o n 2 思路二 類似於二分查詢 已知陣列最右上角的元素 nums i j...

1 二維陣列的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 1 當然直接可以用兩層for迴圈,時間複雜度為o n2 感覺一般來說,如果面試題只能是o n2 的複雜度,估計面試也就拜拜...

1 二維陣列的查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。思路 既然每一行是有序的,那麼就遍歷行 key 大於陣列第一位小於最後一位,那麼說明 key 可能在當前這一行...