题解 | #二维数组中的查找#

二维数组中的查找

https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

#include <algorithm>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param target int整型 
     * @param array int整型vector<vector<>> 
     * @return bool布尔型
     */
    bool Find(int target, vector<vector<int> >& array) {
        // write code here
        int i = array.size();
        int j = array[0].size();
        int index_i = i-1;
        int index_j = 0;
        while (index_i>=0 && index_j<=j-1) {
            if (array[index_i][index_j]==target) {
                return true;
            }
            else if (array[index_i][index_j]<target) {
                index_j += 1;
            }
            else if (array[index_i][index_j]>target) {
                index_i -= 1;
            }
        }
        return false;
    }
};

二维数组查找:

如果一个数字,和内部数字比较,目标比当前索引的数组大,索引变化方向固定,数值比当前数值小,也可以按照另一个索引的方向搜索。

则可以采用二分的方法,大了往一侧搜索,小了则向另一侧搜索。

全部评论

相关推荐

10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
已老实求offer😫:有点像徐坤(没有冒犯的意思哈)
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-24 20:55
阿里国际 Java工程师 2.7k*16.0
程序员猪皮:没有超过3k的,不太好选。春招再看看
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务