设为首页 加入收藏

TOP

LeetCode240――Search a 2D Matrix II
2015-11-21 00:55:45 来源: 作者: 【 】 浏览:1
Tags:LeetCode240 Search Matrix

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

?

  • Integers in each row are sorted in ascending from left to right.
  • Integers in each column are sorted in ascending from top to bottom.

    ?

    For example,

    Consider the following matrix:

    [
      [1,   4,  7, 11, 15],
      [2,   5,  8, 12, 19],
      [3,   6,  9, 16, 22],
      [10, 13, 14, 17, 24],
      [18, 21, 23, 26, 30]
    ]
    

    Given target = 5, return true.

    Given target = 20, return false.

    实现:
    class Solution {
    public:
    bool searchMatrix(vector >& matrix, int target) {
    int min = 0;
    while (min < matrix.size() && matrix[min][0] <= target) {
    if (searchMatrix(matrix[min], target)) {
    return true;
    }
    min++;
    }
    return false;
    }

    bool searchMatrix(vector & matrix, int target) {
    int min = 0;
    int max = matrix.size()-1;
    int mid;
    while (min <= max) {
    mid = (min + max) / 2;
    if (matrix[mid] > target) {
    max = mid-1;
    } else if (matrix[mid] < target) {
    min = mid+1;
    } else {
    return true;
    }
    }
    return false;
    }
    };

    ?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CrashCustomActivity2 下一篇uva 11624 Fire!(多源BFS)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: