有序矩阵查找的快速算法(C++版)
来源:互联网 发布:淘宝买苹果主板靠谱吗 编辑:程序博客网 时间:2024/06/08 08:21
题目:
行和列都排好序的矩阵,请设计一个高效算法,快速查找矩阵中是否含有值x。
给定一个int矩阵mat,同时给定矩阵大小nxm及待查找的数x,请返回一个bool值,代表矩阵中是否存在x。
所有矩阵中数字及x均为int范围内整数。保证n和m均小于等于1000。
思路:判断矩阵右上角元素与待查找元素的大小,利用矩阵行列都有序的特性, 每次取出一行或一列元素。
算法时间复杂度 O(M+N)
贴代码:
bool findX(vector<vector<int> > mat, int n, int m, int x) {if (n < 0 || m < 0){return false;}int row = 0, col = m - 1;while (row < n && col >= 0){// 右上角元素 = x 找到 返回trueif (mat[row][col] == x){return true;}// 右上角元素 > x 最后一列元素不可能else if(mat[row][col] > x){col--;}// 右上角元素 < x 第一行元素不可能else// if(mat[row][col] < x){row++;}}return false;}
0 0
- 有序矩阵查找的快速算法(C++版)
- 有序矩阵查找 -- 算法小结
- 二维有序矩阵的查找
- 有序矩阵查找
- 有序矩阵查找练习题
- 有序矩阵查找练习题
- 有序矩阵查找
- 关于有序二维矩阵查找和字符串替换的两道算法题
- 数据结构——数组-有序矩阵查找算法
- 二维有序矩阵(杨氏矩阵)的二分查找
- 有序序列的二分查找算法
- 对于有序数组的二分查找算法
- 有序查找的三种算法
- 算法:有序表的二分查找
- 基于有序的查找算法总结
- 有序表折半查找的递归算法
- 牛客网 | 有序矩阵查找练习题
- 高效有序矩阵查找练习
- 学习adams遇到问题(持续更新)。。。。。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- JDK-Eclipse-Android_SDK-ADT详细图文安装教程(1)
- TreeMap练习—字母出现的次数
- myeclipse连接sqlserver数据库
- java集合类LinkedList
- 有序矩阵查找的快速算法(C++版)
- HPU 1287: HH实习【数学】
- easyui datagrid表格解析日期,成长整型
- 数值优化(Numerical Optimization)学习系列-惩罚和增广拉格朗日方法(Augmented Lagrangian Methods)
- mac 使用git管理项目
- Java 内部类种类及使用解析
- LeetCode 之 Merge Two Sorted Lists
- 读书笔记-java虚拟机学习(一)
- Android调用“百度一下”接口