Leetcode刷題74 搜尋二維矩陣

2021-10-13 12:56:40 字數 841 閱讀 7335

編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性:

每行中的整數從左到右按公升序排列。

每行的第乙個整數大於前一行的最後乙個整數。

示例 1:

輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,50]], target = 3

輸出:true

示例 2:

輸入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,50]], target = 13

輸出:false

示例 3:

輸入:matrix = , target = 0

輸出:false

class solution 

//方法二:遍歷

//先從二維矩陣的右上角開始比較,若大於目標值,向左搜尋;小於目標值,則向下搜尋,直到找到目標值

//時間複雜度o(mn),空間複雜度o(1)

private boolean searchmatrixii(int matrix, int target) else if (target > matrix[i][j]) else

}return false;

}//方法一:二分搜尋

//二維陣列轉換為一維陣列

//時間複雜度o(logmn),空間複雜度o(1)

private boolean searchmatrixi(int matrix, int target) else if (target > midelement) else

}return false;

}}

LeetCode演算法題74 搜尋二維矩陣解析

編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3 輸出 true示例 2 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34...

LeetCode刷題 搜尋插入位置

題目描述 給定乙個排序陣列和乙個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。你可以假設陣列中無重複元素。示例 1 輸入 1,3,5,6 5 輸出 2 示例 2 輸入 1,3,5,6 2 輸出 1 示例 3 輸入 1,3,5,6 7 輸出 4 示例...

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

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