• 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;
    }
    }
  • 相关阅读:
    java 深入技术三(List)
    java 深入技术二(Collection)
    java开发JDBC连接数据库详解
    数据库基础和JDBC
    java 深入技术一
    java入门 第三季4
    java入门 第三季3
    04-1. 水仙花数(20)
    04-0. 求符合给定条件的整数集(15)
    03-4. 成绩转换(15)
  • 原文地址:https://www.cnblogs.com/ziqian9206/p/7159003.html
Copyright © 2020-2023  润新知