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;
    }
    
  • 相关阅读:
    2017年第一篇博客--关于集成友盟和微信支付等遇到的坑
    【转】ArcGIS Server10.1安装常见问题及解决方案
    【转】C# GDAL 配置
    【转】Silverlight无法添加服务引用
    arcgis for js/flex/sl 该选哪一个?
    webgis开发-开始向JS转向
    形象解释C#、Net、Asp.net
    怎么区分odd和even
    Linux入门
    html网页访问WebAPI中的方法遇到的问题
  • 原文地址:https://www.cnblogs.com/mxyindex/p/11051017.html
Copyright © 2011-2022 走看看