Maison > développement back-end > tutoriel php > Comment implémenter la méthode statistique des nombres qui apparaissent à plus de la moitié dans un tableau en PHP (code)

Comment implémenter la méthode statistique des nombres qui apparaissent à plus de la moitié dans un tableau en PHP (code)

不言
Libérer: 2023-04-04 09:54:01
avant
2460 Les gens l'ont consulté

Le contenu de cet article explique comment implémenter la méthode statistique (code) des nombres qui apparaissent plus de la moitié des fois dans un tableau en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. j'espère que cela vous sera utile.

Il y a un numéro dans le tableau qui apparaît sur plus de la moitié de la longueur du tableau. Veuillez trouver ce numéro. Par exemple, saisissez un tableau {1,2,3,2,2,2,5,4,2} d'une longueur de 9. Étant donné que le nombre 2 apparaît 5 fois dans le tableau, qui fait plus de la moitié de la longueur du tableau, 2 est affiché. S'il n'existe pas, affichez 0.

Deux façons :

1. Définir un nouveau tableau arr, parcourir le tableau et attribuer des valeurs à arr, arr[element] = le nombre d'occurrences
2. , prenez la première clé et la première valeur, la clé est l'élément cible et la valeur est le nombre d'occurrences. Après vérification, il renvoie
3 La complexité temporelle est O(n). 🎜>

1. Définir les variables e représente l'élément qui apparaît le plus. La variable count est utilisée pour déterminer le nombre d'occurrences. Utilisez

2. , nombre différent--, lorsque le nombre est 0, l'élément actuel couvre e
3 Parcourez le tableau pour vérifier si e apparaît plus de la moitié des fois
4. Complexité temporelle O(n) Complexité spatiale O(. n)

e,count=1
for i=1;i<arr.length;i++
    if arr[i]==e
        count++
    else
        count--
    if count==0
        e=arr[i]
        count=1
count=0
for i=0;i<arr.length;i++
    if arr[i]==e
        count++
if count*2>arr.length
    return e
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:
php
source:cnblogs.com
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