Bug1 解決二維陣列的判空問題

2021-10-03 10:51:20 字數 515 閱讀 7460

在刷演算法提的時候遇到乙個問題,

判斷二維陣列為空的這行**,出現了陣列下標越界的報錯

//錯誤**

if(matrix == null || matrix[0]

.length ==

0|| matrix.length ==0)

正確**應該如下

if

(matrix == null || matrix.length ==

0|| matrix[0]

.length ==0)

主要原因如下:

二維陣列為空,要檢查三個部分:

以上必須按照順序來判斷,尤其第二個和第三個不能顛倒

因為如果陣列為{},則不存在matrix[0]這樣的情況,此時陣列下標已經越界

只有滿足matrix.length=1(行數=1)才可以去判斷 matrix[0].length==0 (列數=0)

1 陣列 二維陣列的查詢

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

1 二維陣列的查詢

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

1 二維陣列的查詢

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