240. Search a 2D Matrix II
2016-04-17 00:06
330 查看
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.
剑指OFFER的题目,从右上角查找即可,时间复杂度为O(N)。
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.
剑指OFFER的题目,从右上角查找即可,时间复杂度为O(N)。
class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int m=matrix.size(); int n=matrix[0].size(); int i=0,j=n-1; while(i<m&&j>=0){ if(matrix[i][j]==target){ return true; } else if(target<matrix[i][j]){ j--; } else i++; } return false; } };
相关文章推荐
- HDU 5207 Greatest Greatest Common Divisor
- 字符串匹配的KMP算法(不建议大家看,这里是我的暂时笔记)
- 二维码扫描库的使用
- pads在画PCB怎么批量修改线宽,或者统一修改线宽
- 【排列组合】HDU5651xiaoxin juju needs help
- 如何根据v$parameter查询Oracle隐含参数
- [Spring]简单Junit和Spring整合配置
- [网络编程]——TCP_Socket通信_聊天室_客户端多线程
- 动态设置listview的高度
- EZchip将推全球首款100核64位ARM A-53芯片
- 二分查找算法
- 杭电acm2015
- 对匿名函数理解
- 二分查找算法
- HDU 5667 :Sequence
- 简单选择排序
- linux 定期备份脚本--优化终结
- HDOJ 2159 FATE
- CSU 1600 Twenty-four point
- google big table