Maison > interface Web > js tutoriel > le corps du texte

Comment trouver l'élément le plus fréquent dans un tableau ?

Barbara Streisand
Libérer: 2024-11-15 15:47:02
original
416 Les gens l'ont consulté

How to Find the Most Frequent Element in an Array?

Détermination de l'élément avec l'occurrence la plus élevée dans un tableau

La détermination de l'élément (mode) le plus fréquent dans un tableau est une programmation courante tâche. Pour un tableau donné, nous devons trouver l'élément qui apparaît le plus de fois.

Pour résoudre ce problème avec élégance, une approche consiste à utiliser une carte de mode. La carte de mode sert de table de recherche qui associe chaque élément unique du tableau à sa fréquence d'occurrence respective. En parcourant le tableau, nous conservons l'occurrence actuelle la plus élevée et l'élément correspondant.

La solution JavaScript suivante implémente cette approche :

function mode(array) {
  if (array.length === 0) {
    return null;
  }

  let modeMap = {};
  let maxEl = array[0];
  let maxCount = 1;

  for (let i = 0; i < array.length; i++) {
    let el = array[i];
    if (modeMap[el] == null) {
      modeMap[el] = 1;
    } else {
      modeMap[el]++;
    }

    if (modeMap[el] > maxCount) {
      maxEl = el;
      maxCount = modeMap[el];
    }
  }

  return maxEl;
}
Copier après la connexion

Dans cette solution, nous initialisons la carte de mode comme un objet vide. Nous parcourons ensuite les éléments du tableau, en incrémentant leurs comptes respectifs dans la carte de mode. Nous mettons continuellement à jour l'occurrence la plus élevée et l'élément correspondant en suivant l'élément qui apparaît le plus de fois. Enfin, nous renvoyons l'élément avec l'occurrence la plus élevée comme mode.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal