LeetCode74——Search a 2D Matrix
本题比较简单,我是用最简单的思想来思考的,既然每行都有序,我先利用vector支持随机查找的策略,比较vector每一行末尾的元素,如果比末尾元素大则跳到下一行。如果下一行为最后一行+1那么返回false。那么比较过后,在下一行元素中进行一次遍历,找寻符合条件的数,找到返回true,没找到返回false。
class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int tmp = 0; int row = matrix.size(); int col = matrix[0].size(); while(target > matrix[tmp][col - 1]) { tmp++; if(tmp == row) { return false; } } for(int i = 0;i != col;++ i) { if(target == matrix[tmp][i]) { return true; } } return false; } };