Maison > développement back-end > tutoriel php > PHP détermine si le même nombre existe dans deux tableaux ordonnés. Exemple d'analyse de code

PHP détermine si le même nombre existe dans deux tableaux ordonnés. Exemple d'analyse de code

黄舟
Libérer: 2023-03-06 18:06:01
original
1401 Les gens l'ont consulté

PHP détermine si le même nombre existe dans deux tableaux ordonnés Exemple d'analyse de code

<?php
$len1 = sizeof($arr1);
$len2 = sizeof($arr2);

$flag = false; //用来退出外层循环
$start = 0;
$counter = 0;

for($i = 0; $i < $len1; $i++) {
	if($flag) {
		break;
	}
	
	// $start 记录上次循环到的索引
	for($j = $start; $j < $len2; $j++) {
		if($arr2[$j] == $arr1[$i]) {
			echo &#39;find, &#39;, $arr2[$j];
			$flag = true;
			break;
		}

		// 用 $counter 来控制次数,当前内循环中仅记录一次
		if($arr2[$j] > $arr1[$i] && $counter == 0) {
			$start = $j;
			$counter++;
		}
	}

	$counter = 0; //下一次循环开始,重置为0
}
Copier après la connexion

Méthode 2 :

Idée : définissez d'abord deux indices, initialisez-les aux adresses de départ des deux tableaux et avancez dans l'ordre. La règle d'avancement est de comparer les nombres dans les deux tableaux. L'indice du plus petit tableau est avancé d'un pas jusqu'à ce que l'indice de n'importe quel tableau atteigne la fin du tableau. Si le même nombre n'a pas été rencontré à ce moment-là, cela signifie que l'indice dans le tableau est Il n'y a pas de nombres identiques.

<?php
$i = $j = 0;
$len1 = count($arr1);
$len2 = count($arr2);
while($i < $len1 && $j < $len2) {
	if($arr1[$i] == $arr2[$j]) {
		echo &#39;find, &#39;, $arr1[$i];
		break;
	}
	
	if($arr1[$i] > $arr2[$j]) {
		$j ++;
	}
	else {
		$i ++;
	}
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal