二维数组中的查找

网友投稿 674 2022-08-25

二维数组中的查找

二维数组中的查找

题目描述

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

题解:

leetcode中有类似题,不过是严格升序([[1,2,3][4,5,6][7,8,9]])这种,使用二分搜索Olgn。

本题从左下搜索,只有一种决策。

如果大于的话就向上,小于的话就向右。

class Solution {public: bool Find(int target, vector > array) { if (array.empty() == true) { return false; } int n = array.size(), m = array[0].size(); int x = n - 1, y = 0; while(x >= 0 && y < m) { if (array[x][y] > target) { x--; } else if (array[x][y] < target) { y++; } else { return true; } } return false; }};

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:.NET逻辑分层架构总结
下一篇:HUST-二叉排序树
相关文章

 发表评论

暂时没有评论,来抢沙发吧~