Given an m x n matrix where each row is sorted ascending and the first number of each row is greater than the last number of the previous row, determine whether a target value exists in the matrix, in O(log(m·n)) time.
matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3truematrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13falseSolve it in the editor. Sign in free to run your Python or JavaScript against test cases, get a verdict, and track your attempts.
Solve on FeatCode →Repeatedly halve the search space by comparing the middle element to a target, turning an O(n) scan into O(log n). It works on more than sorted arrays — any "answer space" that's monotonic (true…true…false…false) can be binary searched.
Read the full Binary Search guide →
Original problem on LeetCode ↗