日常刷題 搜尋二維矩陣

2021-10-02 15:21:38 字數 1015 閱讀 5336

有規律的陣列查詢最快的方法我想到了二分法。

矩陣是從左到右,從上到下變大,那麼對角線的找發會省時一些。

方法一:左上到右下

往右和往下都是增大,不能實現。

方法二:右下到左上

往上和往左都是減少,不能實現。

方法三:右上到左下

往左減少 往下增加,可實現。

方法四:左下到右上

往上減少 往右增加,可實現。

leetcode題解裡有個**動畫解釋的很好:

我的**:(實現方法三)

public

static

boolean

searchmatrix

(int

matrix,

int target)

else

else

if(matrix[r]

[c]< target)

else

}// system.out.println("false");

return

false;}

}

題目來自leetcod

leetcode刷題(7) 搜尋二維矩陣

編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 每行中的整數從左到右按公升序排列。每行的第乙個整數大於前一行的最後乙個整數。示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3 輸出 true 示例 2...

Leetcode刷題74 搜尋二維矩陣

編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 每行中的整數從左到右按公升序排列。每行的第乙個整數大於前一行的最後乙個整數。示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3 輸出 true 示例 2...

搜尋二維矩陣

寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 每行中的整數從左到右是排序的。每行的第乙個數大於上一行的最後乙個整數。樣例 考慮下列矩陣 1,3,5,7 10,11,16,20 23,30,34,50 給出 target 3,返回 true 思路一 最容易想到的一種解法就是兩層f...