广州城市建设档案网站,wordpress插件代码,网站如何做标题优化,如何做好网页设计hot100_240. 搜索二维矩阵 II 直接遍历列减行增 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性#xff1a;
每行的元素从左到右升序排列。 每列的元素从上到下升序排列。
示例 1#xff1a; 输入#xff1a;matrix [[1,4,7,1… hot100_240. 搜索二维矩阵 II 直接遍历列减行增 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性
每行的元素从左到右升序排列。 每列的元素从上到下升序排列。
示例 1 输入matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target 5 输出true
示例 2 输入matrix [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target 20 输出false
直接遍历
class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int[] row:matrix){for(int num:row){if(numtarget){return true;}}}return false;}
}列减行增
从右上角 matrix[0][n-1]开始 matrix[x][y]target结束 因为每列递增matrix[x][y]target , 该列的所有数值都大于target 它在该列的最上边y– 因为每行递增matrix[x][y]target 改行的所有数值都小于target 它在改行的最右边x
class Solution {public boolean searchMatrix(int[][] matrix, int target) {int mmatrix.length,nmatrix[0].length;int x0,yn-1;while(xm y0){if(matrix[x][y]target){return true;}if(matrix[x][y]target){--y;}else{x;}}return false;}
}