c_cpp 搜索2D Matrixhttp://oj.leetcode.com/problems/search-a-2d-matrix/

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 搜索2D Matrixhttp://oj.leetcode.com/problems/search-a-2d-matrix/相关的知识,希望对你有一定的参考价值。

class Solution {
public:
    bool searchMatrix(vector<vector<int> > &matrix, int target) {
        int m = matrix.size();
        if(m == 0){
            return false;
        }
        int n = matrix[0].size();
        int front_row = 0;
        int back_row = m - 1;
        int mid_row = -1;
        while(front_row <= back_row){
            mid_row = (front_row + back_row) / 2;
            if(matrix[mid_row][0] > target){
                back_row = mid_row - 1;
                continue;
            }
            else if(matrix[mid_row][n - 1] < target){
                front_row = mid_row + 1;
                continue;
            }
            else{
                break;
            }
        }
        if(front_row > back_row){
            return false;
        }
        int front_col = 0;
        int back_col = n - 1;
        while(front_col <= back_col){
            int mid_col = (front_col + back_col) / 2;
            if(matrix[mid_row][mid_col] == target){
                return true;
            }
            else if(matrix[mid_row][mid_col] > target){
                back_col = mid_col - 1;
                continue;
            }
            else {
                front_col = mid_col + 1;
                continue;
            }
        }
        if(front_col > back_col){
            return false;
        }
    }
};

以上是关于c_cpp 搜索2D Matrixhttp://oj.leetcode.com/problems/search-a-2d-matrix/的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp [bs] [array]搜索范围。给定排序的整数数组,找到给定目标值的起始位置和结束位置。 O(log n)

c_cpp 线性代数 - 2D / 3D几何

c_cpp 2d_matrix_2.cpp

c_cpp alloc 2d array,memset和malloc

c_cpp 如果用有序链表来表示一个含有Ñ个元素的有序集S,则在最坏情况下,搜索小号中一个元素需要O(n)的计算时间。提高有序链表效率的一个技巧是在有序链表的部分结点处增设附加指针以提高其搜

c_cpp cocos2d-x3.x获取系统时间