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

    题目描述

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

    根据题目要求,这个矩阵有它自己的特点,每行从左到右递增,从上到下递增,于是,我们可以利用这个信息来简化原本的计算思路。
    思路:
    首先选取数组中右上角的数字。如果该数字等于要查找的数字,则结束查找。
    如果该数字大于要查找的数字,就去掉该数字所在的列。
    如果该数字小于要查找的数字,就去掉该数字所在的行。
    通过上述思路减少查找范围,直到找到要查找的数字,或者找不到。
    • 代码:
     1 function Find(target,array){
     2       var row = array.length;
     3       var i = row - 1;
     4       var j = 0;
     5       while(i>=0&&array[i][j]){
     6          if(array[i][j]>target) {
     7              i--;
     8          } else if(array[i][j] < target) {
     9             j++;
    10         } else{
    11            return true;
    12        }
    13    }
    14    return false;
    15 }
     
     
    • 暴力枚举
     1 function Find(target, array)
     2 {
     3     for (let arr of array) {
     4         for (let j of arr) {
     5             if (j == target) {
     6                 return true;
     7             }
     8         }
     9     }
    10     return false;
    11 }
     
     
  • 相关阅读:
    Python 函数 之 目录
    python---------匿名函数
    python-------递归函数
    python-----内置函数
    hibernate.cfg.xml
    struts2 工作原理
    拦截器
    js制作 子菜单
    struts---最简单实例步骤
    常用标签---地址----
  • 原文地址:https://www.cnblogs.com/boxin/p/9782746.html
Copyright © 2011-2022 走看看