二维数据搜索(算法)
来源:互联网 发布:华为没有网络怎么回事 编辑:程序博客网 时间:2024/06/10 04:39
设计一个算法对m * n矩阵进行搜索,这个矩阵拥有如下属性.
每行的数都是从左到右排序好的。
每行的首数大于上行的尾数。
如下 :
1 2 3 4
5 6 7 8
9 10 11 12
查找7,返回 true。没有找到的返回-1.
假设映射到一维数据a中,a 有m*n 个元素,那么a[k] = matrix[i][j],当k= i*n+j,即i=k/n,j = k%n,有了这个关系后我们可以用二分查找来解决这个问题。
boolean searchmatrix(int [][] matrix, int target){int m = matrix.length;int n = matrix[0].length;int low = 0;int high = m*n -1;while(low <= high){int mid = (low + high) >>1;if(matrix[mid/n][mid%n] == target)return true;else if(matrix[mid/n][mid%n] < target)low = mid + 1;else if(matrix[mid/n][mid%n] > target)high = mid -1;}return false;}
0 0
- 二维数据搜索(算法)
- 数据搜索算法
- 【LeetCode-面试算法经典-Java实现】【074-Search a 2D Matrix(搜索二维矩阵)】
- 海量数据搜索算法优化-
- 算法题目---二维数据中的查找
- 算法 杨氏矩阵搜索(二维数组中的查找)
- 九章算法面试题76 搜索二维矩阵
- Dijstra 单源最短路径算法 堆优化-1(二维数组存储数据)
- 搜索二维矩阵(二叉搜索)
- 百度、google海量数据搜索算法题解
- 海量数据搜索算法优化(转)
- 海量数据搜索、存储、查询、排序算法
- 海量数据搜索、存储、查询、排序算法
- 区间搜索(算法)
- 搜索算法(poj1011)
- 9.6-二维数组搜索
- 题目:搜索二维矩阵
- 搜索二维矩阵 II
- 20150623_OC之时间NSDate与NSDateFormatter
- 常用的JS插件介绍:3、masonry——瀑布流(结合requirejs、art-template、infinite-scroll)
- java总结(之七)--Java I/O系统
- WPA 和 WPA2 以及WPA-PSK / WPA2-PSK的区别
- 我的Android第一步:开发环境搭建ADT-Bundle及Hello World
- 二维数据搜索(算法)
- C语言qsort C++的sort
- 20150623_OC之属性列表文件plist
- NuttX 启动流程
- ios监听某些事件的方法
- C++重载覆盖和隐藏,虚函数与纯虚函数
- Deep Learning for Nature Language Processing---第四讲(上)
- HBase数据存储格式
- 上海会议总结