PHP判断两个有序数组中是否存在相同的数字示例代码分析
<?php$len1 = sizeof($arr1);$len2 = sizeof($arr2);$flag = false; //用来退出外层循环$start = 0;$coun<strong style="color:transparent">来2源gaodaima#com搞(代@码&网</strong><label>搞gaodaima代码</label>ter = 0;for($i = 0; $i < $len1; $i++) { if($flag) { break; } // $start 记录上次循环到的索引 for($j = $start; $j < $len2; $j++) { if($arr2[$j] == $arr1[$i]) { echo 'find, ', $arr2[$j]; $flag = true; break; } // 用 $counter 来控制次数,当前内循环中仅记录一次 if($arr2[$j] > $arr1[$i] && $counter == 0) { $start = $j; $counter++; } } $counter = 0; //下一次循环开始,重置为0}
方法二:
思路:首先设两个下标,分别初始化为两个数组的起始地址,依次向前推进。推进的规则是比较两个数组中的数字,小的那个数组的下标向前推进一步,直到任何一个数组的下标到达数组末尾时,如果这时还没碰到相同的数字,说明数组中没有相同的数字。
<?php$i = $j = 0;$len1 = count($arr1);$len2 = count($arr2);while($i < $len1 && $j < $len2) { if($arr1[$i] == $arr2[$j]) { echo 'find, ', $arr1[$i]; break; } if($arr1[$i] > $arr2[$j]) { $j ++; } else { $i ++; }}
以上就是PHP判断两个有序数组中是否存在相同的数字示例代码分析的详细内容,更多请关注搞代码gaodaima其它相关文章!