Maison > développement back-end > tutoriel php > Comment puis-je trouver la valeur la plus proche d'une cible dans un tableau ?

Comment puis-je trouver la valeur la plus proche d'une cible dans un tableau ?

DDD
Libérer: 2024-12-04 03:41:11
original
409 Les gens l'ont consulté

How Can I Find the Closest Value to a Target in an Array?

Recherche et identification de la valeur la plus proche dans un tableau

Souvent, le besoin se fait sentir lors de la recherche de la valeur la plus proche dans un tableau basée sur un cible spécifiée. Pour résoudre ce scénario, examinons une approche qui gère efficacement ce problème.

Solution :

Pour déterminer la valeur la plus proche d'une valeur cible dans un tableau, nous pouvons utiliser un algorithme simple :

function getClosest($search, $arr) {
   $closest = null;
   foreach ($arr as $item) {
      if ($closest === null || abs($search - $closest) > abs($item - $search)) {
         $closest = $item;
      }
   }
   return $closest;
}
Copier après la connexion

Dans cet algorithme, nous parcourons le tableau, en comparant la différence entre la cible et l'élément actuel à l'élément le plus proche déjà établi valeur. Si la différence avec l'élément actuel est plus petite, elle devient la nouvelle valeur la plus proche.

Exemple :

Considérez l'exemple de tableau fourni :

array(0, 5, 10, 11, 12, 20)
Copier après la connexion

Si nous recherchons la valeur la plus proche de 3, la fonction retournera 5. De même, pour une valeur cible de 14, l'algorithme identifiera 12 comme la valeur cible de 14. la plus proche.

Cet algorithme trouve efficacement la valeur la plus proche de la cible dans un tableau, ce qui en fait un outil fiable pour diverses applications.

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!

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