LeetCode算法面试题汇总
搜索二维矩阵 II
下面是我的代码,前期我用python3写,但是总是因为想的太简单,报错x,最后放弃了.这次直接用JavaScript来写,用了一个函数indexOf(),有点可耻。时间还贼长888ms
/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
for(var i=0;i<matrix.length;i++)
if(matrix[i].indexOf(target)!=-1)
return true;
return false;
};
下面是一个80多的,帅的不行,找规律,上面和左面都是最小的存在,j从右上角一直向左压进,而i从左上角向下压进,最后一次次的逼近查找的值。
/**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
let m = matrix.length;
if(m === 0) return false;
let n = matrix[0].length;
if(n === 0) return false;
let i = 0, j = n-1;
while(matrix[i][j] !== target){
while(matrix[i][j] > target){
j--;
if(j < 0) return false;
}
while(matrix[i][j] < target){
i++;
if(i >= m) return false;
}
}
return true;
};