牛客网-剑指offer 第一题(二维数组中的查找)
//题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,
输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
/*第一种 将每一行看成递增数组 进行二分查找*/
function Find($target, $array)
{//第一种解法:将每一行看成有序递增数组 进行二分查找//获得行$hang=count($array);$lie=count($array[0]);for($i=0;$i<$hang;$i++){//每行$s=0;$h=$lie-1;while($s<=$h){$middle=(int)(($s+$h)/2);if($target<$array[$i][$middle]){$h=$middle-1;}elseif($target>$array[$i][$middle]){$s=$middle+1;}else{return true;}}}return false;}/*第二种 先变成一维数组 再进行顺序查找*/
function Find($target, $array)
{//思路:先变成一维数组 再进行顺序查找$res=[];foreach($array as $k1=>$v1){foreach($v1 as $k2=>$v2){$res[]=$v2;}}//对res进行顺序查找$count=count($res);for($i=0;$i<$count;$i++){if($target==$res[$i]){break;}}if($i<$count){return true;}else{return false;}}/*第三种 左下角数组向上递减 向右递增 取左下角值与target进行比较 target小于左下角则向上移动 大于则向右移动*/
function Find($target, $array){$hang=count($array)-1;$lie=count($array[0])-1;$zuoxia=$array[0][$hang-1];$row=$hang;$col=0;while ( $row>=0 && $col <=$lie) {if($target>$array[$row][$col]){$col++;}elseif ($target<$array[$row][$col]) {$row--;}else{return true;}}return false;
}
牛客网-剑指offer 第一题(二维数组中的查找)相关推荐
- 【剑指offer题解】二维数组中的查找
前言 众所周知,对于面试而言,<剑指offer>是一本"好书". 如果你和我一样是个算法菜鸡,那么最推荐的是先把剑指offer的题目搞明白,其次再去刷LeetCode等 ...
- 萌萌媛の【剑指offer笔记】二维数组中的查找
题目描述: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整 ...
- 剑指offer(一):二维数组中的查找
题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...
- 剑指offer (04):二维数组中的查找 (C++ Python 实现)
1 题目 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 例如: ⎡⎣⎢⎢⎢12 ...
- 《剑指offer》——04. 二维数组中的查找——暴力法、线性查找——java实现
文章目录 1.题目描述 2.解决方法 (1)暴力法 (2)线性查找(右上角->左下角) 参考: 1.题目描述 2.解决方法 (1)暴力法 如果不考虑二维数组排好序的特点,则直接遍历整个二维数组的 ...
- 【剑指offer】_01 (二维数组中的查找)
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 ...
- Day5.牛客网剑指offer 67题之43-54题(java代码)
文章目录 Day5.牛客网剑指offer 67题之43-54题 43.左旋转字符串 44.翻转单词顺序列 45.扑克牌顺序 46.孩子们的游戏 47.求1+2+...+n 48.不用加减乘除做加法 4 ...
- string类函数和牛客网剑指offer刷题记录
1.strcat char* strcat(char *strDest,const char *strSrc){assert(strDest && strSrc);char *p = ...
- 牛客网-剑指offer 第二题(字符替换)
//请实现一个函数,将一个字符串中的空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. <?php f ...
最新文章
- UVA 311 Packets
- 2020年github文件高速下载方法
- Git版本库创建(包含文件权限设置 Linux环境下)
- ITK:二进制图像的近似距离图
- 150个Java面试问答-最终清单(PDF下载)
- Liunx下使用Nginx负载均衡
- java实现冗余校验_循环冗余校验_循环冗余校验码计算_循环冗余校验 java实现(6)...
- Istio流量管理实践之(3): 基于Istio实现流量对比分析 1
- 自定义List接口及相关方法
- 网络通信基础(入门知识总结)
- 【多元统计分析】10.多元线性回归
- 创业4年女掌门刘静瑜,创造动力电池,中创新航市值超600亿
- 《人机交互技术》 第八章 移动界面设计
- 隧道安全管理八大系统
- 计算机组装方案及分析,计算机组装与维护
- android绘画板界面,手机绘画板(MediBang Paint Tablet)
- OSCS开源软件供应链安全社区上线,携手开源社区共同提升开源安全质量
- edas上传pdf 失败
- ubuntu WPS升级后打不开
- Python3 定义一个跨越多行的字符串的多种方法
热门文章
- TCP/UDP常见端口参考(超全_面试题常用_建议收藏)
- 零基础学Python-爬虫-2、scrapy框架(测试案例篇·技术点在后面文章内讲解)【测试将一篇小说的所有访问路径与标题存储到一个文件下】
- Oracle 11g 中告警日志的位置
- Linux下rm -rf 后恢复文件
- php - 冒泡排序
- Appscan漏洞 之 加密会话(SSL)Cookie 中缺少 Secure 属性
- Django-MySQL数据库使用01
- django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用...
- KnockoutJS 3.X API 第一章 简介
- NYOJ541 最强DE 战斗力(第五届省赛试题)