上海市官方网站,建设网站的基本流程,网站做等保,电商网站更适合2023.11.22 本题最先想到的是暴力法和二分法#xff0c;暴力法就不写了#xff0c;写一下二分法的解法#xff0c;java代码如下#xff1a;
class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int[] row : matrix){int left 0;int right r…2023.11.22 本题最先想到的是暴力法和二分法暴力法就不写了写一下二分法的解法java代码如下
class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int[] row : matrix){int left 0;int right row.length-1;while(left right){int mid (left right) / 2;if(row[mid] target) return true;else if(row[mid] target) right mid-1;else left mid 1; }}return false;}
} 翻看了下评论区有个Z字型解法是从右上角开始遍历我则从左下角开始遍历然后当前元素大于target值就往上走小于target值就往右走直到走到边界也没找到就返回falsejava代码如下
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int row matrix.length-1;int col 0;//从左下角开始搜索while(row0 colmatrix[0].length){if(matrix[row][col] target) return true;else if(matrix[row][col] target) row--;else col;}return false;}
}