Search2DMatrix
Published at 2021-11-20
class Solution:
def searchMatrix(self, matrix: List[List[int]], target: int) -> bool:
rowLen = len(matrix)
colLen = len(matrix[0])
start, end = 0, (rowLen * colLen)
while start < end:
mid = (start + end) // 2 # 여기서 몫은 row고 나머지는 col위치임
val = matrix[mid // colLen][mid % colLen]
if val == target:
return True
elif val < target:
start = mid + 1
elif val > target:
end = mid
return False /**
* @param {number[][]} matrix
* @param {number} target
* @return {boolean}
*/
var searchMatrix = function(matrix, target) {
const rowLen = matrix.length;
const colLen = matrix[0].length;
let s = 0;
let e = rowLen * colLen;
while (s < e){
const mid = Math.floor((s+e)/2);
const midVal = matrix[Math.floor(mid/colLen)][mid%colLen]
if(midVal == target) return true
else if(midVal < target) s = mid+1
else e = mid-1
}
return false
};