PHP实现二维数组中的查找算法小结


Posted in PHP onJune 09, 2018

本文实例讲述了PHP实现二维数组中的查找算法。分享给大家供大家参考,具体如下:

方法1:silu从左下角最后一行的第一个元素开始,遍历。如果小于target 则遍历该行的所有元素,找到结束。如果大于继续往上一行进行。等于直接结束。

<?php
function Find($target, $array)
{
  $m_y = count($array['0']);
  $m_x = count($array);
  for($i=$m_x-1;$i>=0;$i--){
    if($array[$i]['0'] < $target){
      for($j=1;$j<$m_y;$j++){
        if($array[$i][$j] == $target){
          return 1;
          break;
        }
      }
    }
    if($array[$i]['0'] == $target){
      return 1;
      break;
    }
  }
}

方法2

function Find($target, $array)
{
  $m_y = count($array['0']);
  $m_x = count($array);
  $i = 0;
    for($i =$m_x-1,$j=0;$i>=0&&$j<$m_y;){
      if($array[$i][$j]<$target){
        $j++;
        continue;
      }
      if($array[$i][$j]>$target){
        $i--;
        continue;
      }
      if($array[$i][$j] == $target){
        return 1;
      }
    }
}

方法3:

function Find($target, $array)
{
  $m_y = count($array['0']);
  $m_x = count($array);
  $i = $m_x-1;
  $j = 0;
  while(1){
    if($array[$i][$j]<$target){
      $j++;
    }
    if($array[$i][$j]>$target){
      $i--;
    }
    if($array[$i][$j] == $target){
      return 1;
    }
    if($i == 0||$j == $m_y-1){
      return 0;
    }
  }
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
Mysql和网页显示乱码解决方法集锦
Mar 27 PHP
通用PHP动态生成静态HTML网页的代码
Mar 04 PHP
php函数之子字符串替换&amp;#65279; str_replace
Mar 23 PHP
php文档更新介绍
Jul 22 PHP
PHP抽象类 介绍
Jun 13 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
Jun 20 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
解决file_get_contents无法请求https连接的方法
Dec 17 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 PHP
yii框架使用分页的方法分析
Jul 25 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 PHP
PHP Web表单生成器案例分析
Jun 02 PHP
PHP实现链表的定义与反转功能示例
Jun 09 #PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 #PHP
ThinkPHP5框架实现简单的批量查询功能示例
Jun 07 #PHP
PHP 实现手机端APP支付宝支付功能
Jun 07 #PHP
Laravel程序架构设计思路之使用动作类
Jun 07 #PHP
laravel手动创建数组分页的实现代码
Jun 07 #PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 #PHP
You might like
PHP在XP下IIS和Apache2服务器上的安装
2006/09/05 PHP
如何使用Strace调试工具
2013/06/03 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
PDO实现学生管理系统
2020/03/21 PHP
CSS鼠标响应事件经过、移动、点击示例介绍
2013/09/04 Javascript
js 对小数加法精度处理示例说明
2013/12/27 Javascript
JSON.parse()和JSON.stringify()使用介绍
2014/06/20 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
2017/03/08 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
centos系统升级python 2.7.3
2014/07/03 Python
Python随机生成彩票号码的方法
2015/03/05 Python
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
Python中的两个内置模块介绍
2015/04/05 Python
对于Python装饰器使用的一些建议
2015/06/03 Python
python中的随机函数小结
2018/01/27 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
电大自我鉴定
2013/10/27 职场文书
网吧最新创业计划书范文
2014/03/27 职场文书
股份合作协议书范本
2014/04/14 职场文书
《雪儿》教学反思
2014/04/17 职场文书
物资采购方案
2014/06/12 职场文书
八项规定对照检查材料
2014/08/31 职场文书
复活读书笔记
2015/06/29 职场文书
呼兰河传读书笔记
2015/06/30 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
Java字符串逆序方法详情
2022/03/21 Java/Android
Python3使用Qt5来实现简易的五子棋小游戏
2022/05/02 Python
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS