[leetcode]Search a 2D Matrix
2015-07-24 17:07
375 查看
#include<iostream> #include<vector> using namespace std; class Solution { public: bool find(vector<vector<int>>a,int target) { int l=0; int r=a.size()*a.back().size()-1; while(l<r) { int mid=l+(r-l)/2; int t=a[mid/a.front().size()][mid%a.front().size()]; if(t==target) return true; else if(t>target) r=mid-1; else l=mid+1; } return false; } }; void main() { Solution solution; int a[3][4]={1,3,5,7,10,11,16,20,23,30,34,50}; vector<int>b[3]; for(int i=0;i<3;i++) for(int j=0;j<4;j++) b[i].push_back(a[i][j]); vector<vector<int>>arr(b,b+3); cout<<solution.find(arr,6); }
相关文章推荐
- 008-Scala主构造器、私有构造器、构造器重载实战详解
- 2015 多校联赛 ——HDU5305(搜索)
- 1016. Phone Bills (25)
- 纯CSS绘制三角形(各种角度)
- 2015 多校联赛 ——HDU5305(搜索)
- 自定义alertview
- freemarker跳出循环
- 判断有环的链表相交和第一个公共节点(全面)
- Java的服务端程序性能问题调查方法
- 结构化程序设计方法
- 土木工程转行IOS的点点滴滴,没受伤是不知道回头滴
- C语言部分题目解析
- 【Java】集合框架
- spring 实现AOP的4种方式
- 通过WiFi连接真机进行appium测试
- 优化数据页面(20)——提供筛选
- C语言流程控制之循环笔记
- 我现在的心情!!!
- android jni入门基础
- Kafka 对比 ActiveMQ