class Solution {
public:
    bool searchMatrix(vector<vector<int>>& mat, int target) {
        int row = mat.size();
        int col = mat[0].size();

        int left = 0;
        int right = row*col -1;

        while (left<=right){
            int mid = left+(right-left)/2;

            int midval = mat[mid / col][mid%col];

            if(midval == target){
                return true;
            }else if(midval > target){
                right = mid-1;
            }else{
                left = mid+1;
            }
        }

        return false;
    }
};

https://leetcode.com/problems/search-a-2d-matrix/

https://takeuforward.org/array/top-array-interview-questions-structured-path-with-video-solutions