目录
- 题目
- 题解:数组扁平化+二分查找
题目
- 给你一个满足下述两条属性的 m x n 整数矩阵:
每行中的整数从左到右按非严格递增顺序排列。
每行的第一个整数大于前一行的最后一个整数。
给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。
题解:数组扁平化+二分查找
- 闭区间写法
var searchMatrix = function(matrix, target) {let a = matrix.flat(2)//数组扁平化// let a = matrix.toString().split(",").map(Number)//数组扁平化let i=0,j=a.length-1while(i<=j){let mid = Math.floor((i+j)/2)if(target == a[mid]) return trueelse if(target < a[mid]){j = mid-1}else{i=mid+1}}return false
};
- 左闭右开写法
var searchMatrix = function(matrix, target) {let a = matrix.flat(2)//数组扁平化// let a = matrix.toString().split(",").map(Number)//数组扁平化let i=0,j=a.lengthwhile(i<j){let mid = Math.floor((i+j)/2)if(target == a[mid]) return trueelse if(target < a[mid]){j = mid}else{i=mid+1}}return false
};