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

    二维数组中的查找

    1、简单查找运用原生函数

    function findInOneArray($target, $array) {
        if (array_search($target, $array) !== false) {
            return true;
        } else {
            return false;
        }
    }
    function Find($target, $array) {
        foreach ($array as $key => $val) {
            if (findInOneArray($target, $val)) {
                return true;
            }
        }
        return false;
    }
    

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

    function search($target, $array) {
        $i = count($array[0]) - 1;
        $j = 0;
        if ($array[count($array) - 1][$i] < $target || $array[0][0] > $target) {
            return false;
        }
        for ($i; $i >= 0; $i--) {
            if ($array[$j][$i] <= $target) {
                for ($j; $j < count($array); $j++) {
                    if ($array[$j][$i] == $target) {
                        return array($j,$i);
                    } else if ($array[$j][$i] > $target) {
                        break;
                    }
                }
            }
        }
        return false;
    }
    

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

    $arr = array();
    $flag = 0;
    for ($i = 0; $i < 3; $i++) {
        $flag = $i * 3;
        for ($j = 0; $j < 3; $j++) {
            $flag++;
            $arr[$i][] = $flag;
        }
    }
    function Find($target, $array) {
        $col = 0;
        $row = count($array) - 1;
        while ($row >= 0 && $col <= count($array[0]) - 1) {
            if ($target == $array[$row][$col]) {
                return array($row,$col);
            } elseif ($target > $array[$row][$col]) {
                $col++;
            } else {
                $row--;
            }
        }
        return false;
    }
    
  • 相关阅读:
    解决secureCRT数据库里没有找到防火墙 '无'问题
    关于mysql中int(1)中int后面的数字
    Mac下安装LNMP(Nginx+PHP5.6)环境
    MAC: Homebrew(代替yum)安装
    Mac下面的SecureCRT(附破解方案) 更新到最新的8.0.2
    如何在Macbook Pro搭建PHP开发环境
    MetaMask/metamask-inpage-provider
    MetaMask/safe-event-emitter
    mafintosh/end-of-stream
    MetaMask/sw-controller
  • 原文地址:https://www.cnblogs.com/mxyindex/p/11051017.html
Copyright © 2011-2022 走看看