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

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

    方法一:由于每行都是从左到右递增,每列都是从上到下递增可得:

    左下角的数m,是该行的最小值,该列的最大值,从左下角开始遍历

    若 target>m,右移一位,遍历整行

    若target<m,上移一位,从上行开始遍历

    若target=m,return  true

    function Find(target, array)
    
    {
    
            let rows = array.length;
    
            let  cols = array[0].length;
    
            if(rows == 0||cols==0){
    
                return false;
    
            }
    
            // 左下
    
            let row = rows-1;
    
            let col = 0;
    
            while(row>=0 && col<cols){
    
                if(target>array[row][col]){
    
                    col++;
    
                }else if(target<array[row][col]){
    
                    row--;
    
                }else{
    
                    return true;
    
                }
    
            }
    
            return false;
    
    }

    方法二:从右上方开始遍历,右上方数字n为该行最大值,该列最小值

    若targe>n,下移一位,从下行开始遍历

    若target<n,左移一位,遍历整行

    若target=n,return true

    function Find(target, array)
    
    {
    
            let rows = array.length;
    
            let  cols = array[0].length;
    
            if(rows == 0||cols==0){
    
                return false;
    
            }
    
            // 右上
    
            let row = 0;
    
            let col = cols-1;
    
            while(row<rows && col>=0){
    
                if(target>array[row][col]){
    
                    row++
    
                }else if(target<array[row][col]){
    
                    col--
    
                }else{
    
                    return true;
    
                }
    
            }
    
            return false;
    
    }
  • 相关阅读:
    js获取当前时间日期
    js操作Cookie
    C#常用正则表达式
    jquery操作select、radio、checkbox表单元素
    js实现页面跳转的几种方式
    js获取页面宽高大小
    c++写一个类后编译发现class重定义
    vtkMultiThreader坑爹吗?
    vtkStandardNewMacro()出现错误的问题
    转:将CFormView嵌入到CDockablePane中
  • 原文地址:https://www.cnblogs.com/mlebk/p/12462555.html
Copyright © 2011-2022 走看看