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)

不言
不言avant
2018-10-13 14:58:262462parcourir

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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer