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

    在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
    思路1:while循环row<=array.length-1&&col>=0行小于等于数组长度,列大于等于0,从左下角的数arr[1][0],或者右上角arr[0][j]---(j=arr[0].length-1)和target比较。如果大于target说明在第一行左边,小于target说明在第二行右边
    function Find(target, array)
    {
    // write code here
    var row=0;
    var col=array[0].length-1;
    while(row<=array.length-1&&col>=0){
    if(target==array[row][col]){
    return true;
    }else if(target>array[row][col]){
    row++;
    }else{
    col--;
    }
    }
    return false;
    }
    module.exports = {
    Find : Find
    };
     
    思路2:二分查找,遍历array的长度,设为行数。
    每行找到0和length-1;找到mid
    while循环()
    用每行的array[i][mid]和target比较。如果小于target,说明在右半部份,low变大mid+1
    如果大于target,说明在左半部分,high变小mid-1.
    function Find(target, array)
    {
    // write code here
    for(var i=0;i<array.length;i++){
    var low=0;
    var high=array[i].length-1;
    while(low<=high){
    var mid=(low+high)/2;
    if(target==array[i][mid]){
    return true;
    }else if(target>array[i][mid]){
    low=mid+1;
    }else{
    high=mid-1;
    }
    }
    return false;
    }
    }
  • 相关阅读:
    浅谈ajax
    textsizeadjust属性
    vue通信
    json、jsonp的定义和区别
    js中的eval()和catch()
    WebRTC之Android客户端
    人工神经网络(从原理到代码) Step 01 感知器 梯度下降
    简单实用的matlab柱状图显示比例及计数
    JAVA 常用包
    设置MySQL允许远程连接
  • 原文地址:https://www.cnblogs.com/ziqian9206/p/7159003.html
Copyright © 2011-2022 走看看