Maison > interface Web > Questions et réponses frontales > Comment trouver le mode en javascript

Comment trouver le mode en javascript

藏色散人
Libérer: 2022-01-19 15:12:04
original
2466 Les gens l'ont consulté

Comment trouver le mode en JavaScript : 1. Créez un nouveau tableau ; 2. Comptez le nombre de fois où chaque valeur apparaît 3. Parcourez le tableau et trouvez le mode.

Comment trouver le mode en javascript

L'environnement d'exploitation de cet article : Système Windows 7, javascript version 1.8.5, ordinateur DELL G3

Comment trouver le mode avec javascript ?

Trouver le mode de LeetCode - Implémentation JavaScript

Trouver le mode

Étant donné un tableau de taille n, trouvez le mode. Le mode fait référence aux éléments qui apparaissent à plus de ⌊ n/2 ⌋ dans le tableau.

Vous pouvez supposer que le tableau n'est pas vide et qu'il existe toujours un mode pour un tableau donné.

Exemple 1 :

Entrée : [3,2,3]
Sortie : 3

Exemple 2 :

Entrée : [2,2,1,1,1,2,2]
Sortie : 2

Mes pensées :
Créez un nouveau tableau, comptez le nombre de fois où chaque valeur apparaît, puis parcourez le tableau pour trouver le mode.

const majorityElement = function (nums) {
    let arry = []
    for (let i in nums) {
        if (!arry[nums[i]]) {
            arry[nums[i]] = !!arry[nums[i]] + 1
        }else {
            arry[nums[i]] ++
        }
    }
    for(let i in arry){
        if(arry[i] > nums.length/2){
            return i
        }
    }
};
Copier après la connexion

La solution la plus rapide au leetcode:

Idées de résolution de problèmes:
Utilisez un compteur et une valeur intermédiaire, rendez d'abord la valeur intermédiaire égale au premier bit du tableau, et lors d'un parcours, si vous rencontrer le même Laissez le compteur augmenter de un, et s'il est différent, diminuez-le de un. Lorsqu'il diminue à 0, il est remplacé par la valeur actuellement parcourue. Une fois le parcours terminé, la valeur intermédiaire est renvoyée. le mode. [Apprentissage recommandé : "Tutoriel de base js"]

Ça fait très étrange, il y a une idée de décalage dedans

var majorityElement = function(nums) {
    let count = 0;
    let majority = nums[0];
    
    for (let i = 0; i < nums.length; i++) {
        if (count === 0) {
            majority = nums[i];
        }
        
        if (majority === nums[i]) {
            count++;
        } else {
            count--;
        }
    }
    return majority;
};
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