标签:-- text cti 提示 body 返回 tar esc sts
描述:
写出一个高效的算法来搜索 m × n矩阵中的值。
这个矩阵具有以下特性:
样例
考虑下列矩阵:
[
[1, 3, 5, 7],
[10, 11, 16, 20],
[23, 30, 34, 50]
]
给出 target = 3
,返回 true
-------------------------------------------
开始用两个二分搜索,先找列,再找行。运行后提示超时。。。
1 class Solution { 2 public: 3 /** 4 * @param matrix, a list of lists of integers 5 * @param target, an integer 6 * @return a boolean, indicate whether matrix contains target 7 */ 8 bool searchMatrix(vector<vector<int> > &matrix, int target) { 9 // write your code here 10 if (matrix.empty()) { 11 return 0; 12 } 13 int i = 0; 14 int j = matrix[0].size() - 1; 15 while (i < matrix.size() && j >= 0) { 16 int curr = matrix[i][j]; 17 if (target == curr) { 18 return 1; 19 } else if (curr < target) { 20 i++; 21 } else { 22 j--; 23 } 24 } 25 return 0; 26 } 27 };
标签:-- text cti 提示 body 返回 tar esc sts
原文地址:http://www.cnblogs.com/gousheng/p/6659200.html