本文共 584 字,大约阅读时间需要 1 分钟。
题目:
解答:
二分查找变形,注意如何将一维和二维的转化。
class Solution { public: bool searchMatrix(vector> &matrix, int target) { int m = matrix.size(); if (m == 0) return false; int n = matrix[0].size(); int start = 0; int end = m*n - 1; //二维变一维 int mid, i, j; while (start <= end) //小于等于 { mid = start + (end - start) / 2; i = mid / n; //一维变二维 j = mid % n; if (matrix[i][j] == target) return true; else if (matrix[i][j] < target) { start = mid + 1; } else { end = mid - 1; } } return false; } };
转载地址:http://mytsi.baihongyu.com/