商城网站模板图,公司网站开发招标书,wordpress手机端怎么设置,windows 2008 搭建网站hot100_74. 搜索二维矩阵 思路 给你一个满足下述两条属性的 m x n 整数矩阵#xff1a; 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target #xff0c;如果 target 在矩阵中#xff0c;返回 true #xff1b;否… hot100_74. 搜索二维矩阵 思路 给你一个满足下述两条属性的 m x n 整数矩阵 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target 如果 target 在矩阵中返回 true 否则返回 false 。
示例 1 输入matrix [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target 3 输出true
示例 2 输入matrix [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target 13 输出false
思路
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int rowindex binarySearchFirstColumn(matrix, target);if (rowindex 0) {return false;}return binarySearchRow(matrix[rowindex], target);}public int binarySearchFirstColumn(int[][] matrix, int target) {int low -1, high matrix.length - 1;while (low high) {int mid (high - low 1) / 2 low;if (matrix[mid][0] target) {low mid;} else {high mid - 1;}}return low;}public boolean binarySearchRow(int[] row, int target) {int low 0, high row.length - 1;while (low high) {int mid (high - low) / 2 low;if (row[mid] target) {return true;} else if (row[mid] target) {high mid - 1;} else {low mid 1;}}return false;}}