• 二维数组中的查找


    二维数组中的查找

    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;
    }
    
  • 相关阅读:
    Python—设计模式
    Python—操作系统和多线程
    thin mission 2021 11 3
    搜索
    c++ 调试
    Lecture--words families
    高数--积分
    thin mission 2021.11.2
    tiny mission 2021.11.1
    zlib使用心得
  • 原文地址:https://www.cnblogs.com/mxyindex/p/11051017.html
Copyright © 2020-2023  润新知