zoukankan      html  css  js  c++  java
  • 二维数组中的查找

    原文地址:https://www.jianshu.com/p/c765e8d481af

    时间限制:1秒 空间限制:32768K

    题目描述

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

    我的代码

    class Solution {
    public:
        bool Find(int target, vector<vector<int> > array) {
            int rows=array.size();
            if(rows<1) return false;
            int cols=array[0].size();
            if(cols<1) return false;
            int i=rows-1,j=0;
            while(i>=0 && j<cols){
                if(array[i][j]==target)
                    return true;
                if(array[i][j]<target)
                    j++;
                else
                    i--;
            }
            return false;
        }//O(rows+cols)
    };
    

    运行时间:10ms
    占用内存:1528k

    class Solution {
    public:
        bool Find(int target, vector<vector<int> > array) {
            int rows=array.size();
            if(rows<1) return false;
            int cols=array[0].size();
            if(cols<1) return false;
            for(int i=0;i<rows;i++){
                int low=0,high=cols-1;
                while(low<=high){
                int mid=(low+high)/2;
                if(array[i][mid]==target)
                    return true;
                if(array[i][mid]<target)
                    low=mid+1;
                else
                    high=mid-1;}
            }
            return false;
        }//O(rows*log(cols))
    };
    

    运行时间:10ms
    占用内存:1404k

  • 相关阅读:
    python中的__init__
    python中的单例模式
    python中闭包和装饰器
    sql多表查询
    configurationChanges
    excludeFromRecents标签
    activity-alias
    meta-data
    launchMode
    Apache ant 配置
  • 原文地址:https://www.cnblogs.com/cherrychenlee/p/10773230.html
Copyright © 2011-2022 走看看