Javascript concise solution (64ms)
```\n/*\n * @param {number[][]} matrix\n * @param {number} target\n * @return {boolean}\n /\nvar searchMatrix = function(matrix, target) {\n    if(matrix.length
```\n/**\n * @param {number[][]} matrix\n * @param {number} target\n * @return {boolean}\n */\nvar searchMatrix = function(matrix, target) {\n    if(matrix.length === 0){\n        return false;\n    }\n    //start with top-right element\n    var i = 0;\n    var j = matrix[0].length - 1;\n    \n    //loop till row and column number are within bounds\n    while(i <= matrix.length - 1 && j >= 0){\n        \n        if(matrix[i][j] > target){\n            //current element is greater than target\n            //means this row might have the target element\n            //change column\n            j--;\n        }else if(matrix[i][j] === target){\n            //element found\n            return true;\n        }else if(matrix[i][j] < target){\n            //current element is lesser than target\n            //means this column might have the target element\n            //change rows\n            i++;\n        }\n    }\n    return false;\n};
['JavaScript']