01 陣列之二維陣列中的查詢

2021-09-26 14:58:41 字數 884 閱讀 3371

題目描述:

在乙個二維陣列中(每個一維陣列的長度相同),

每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。

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

這個沒有利用到二維陣列行列遞增順序排列,複雜度太高
public boolean find(int target, int array) else if (target < array[i][mid]) else }}

return false;

}

思路二:

* 利用二維陣列由上到下,由左到右遞增的規律,並且每個一維陣列長度相同!

* 選取右上角或者左下角的元素array[row][col]與target進行比較

* 右上角:

* 當target小於元素array[row][col]時,target在元素array所在行的左邊。

* 當target大於元素array[row][col]時,target在元素array所在列的下邊。

* 左下角:

* 當target小於元素array[row][col]時,target在元素array所在列的上邊。

* 當target大於元素array[row][col]時,target在元素array所在行的右邊。

* 時間複雜度m+n

public boolean find2(int target, int array) else if (target > array[row][col]) else 

}return false;

}

陣列系列01 二維陣列中的查詢

題目描述 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。該陣列不是一般的陣列,從左到右遞增 從上到下遞增意味著每行最後乙個最大,每列第乙個最小。coding...

01 二維陣列的查詢

在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。二維陣列 arry 3 4 8,9,10,11,9,10,11,12,10,11,12,13,從左下角元素往上...

01 二維陣列的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。如果用一維陣列表示,則前提必須知道它的行數和列數 如果用容器vector包含容器元素,即vector array,則行數應表示為...