数组相关编程题

发布时间:2024年01月24日

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

1.查找的过程,本质是排除的过程
2.是的,一次排除一行或者一列
3.临界条件
?

?

#include <asm-generic/errno.h>
class Solution {
public:

    bool Find(int target, vector<vector<int> >& array) {
        // write code here
         int i=0; //表示哪一行
         int j=array[0].size()-1;//定位到右上角,第一行数组大小-1是下标

         while(i<array.size() && j>=0)//控制结束条件,不要越界
         {
           if(target < array[i][j])//要找的那个数比右上角的数小,说明不在这一列
           {
             j--;
           }
           else if(target > array[i][j])//要找的那个数比右上角的数大,说明不在这一行
           {
           i++;
           }
           else
           {
            return true;
           }
         }
         return false;
    }
};

文章来源:https://blog.csdn.net/m0_71920611/article/details/135831670
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。