Search a 2D Matrix
来源:互联网 发布:新开淘宝店卖什么好 编辑:程序博客网 时间:2024/06/10 09:15
Search a 2D 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 from left to right.
- The first integer of each row is greater than the last integer of the previous row.
For example,
Consider the following matrix:
[ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 50]]
Given target = 3
, return true
.
二分查找,中间变换一下坐标
代码:
class Solution {public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int left=0; if (matrix.empty()) return false; int row=matrix.size(); int col=matrix[0].size(); if (row==0||col==0) return false; int right=row*col-1; while(left<right) { int mid=(left+right)/2; int temprow=mid/col; int tempcol=mid%col; if (matrix[temprow][tempcol]==target) { return true; } if (matrix[temprow][tempcol]>target) { right=mid-1; } else { left=mid+1; } } int mid=left; int temprow=mid/col; int tempcol=mid%col; if (matrix[temprow][tempcol]==target) return true; return false; }};
0 0
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D Matrix
- Search a 2D matrix
- Search a 2D matrix
- fprintf sprintf printf函数用法及区别
- 媒体和相机:媒体回放
- 不正经的运维狗的文档2_6
- JSON 与 对象 、集合 之间的转换
- Spring Boot学习笔记(零) 前言
- Search a 2D Matrix
- 357. Count Numbers with Unique Digits
- HDU 5818 Joint Stacks 栈模拟
- httpclientget网络请求数据
- mysql 2
- 双系统Ubuntu无法访问windows磁盘分区解决方法
- 自定义两个圆环一直转
- leetcode 338 Counting Bits
- Java反射基础