Rich LeetCode --- Questions d'entrevue 17.10. Éléments principaux

Examen précoce:

Question d'entretien 39. Nombres qui apparaissent plus de la moitié du temps dans le tableau

Description du titre:

Les éléments qui représentent plus de la moitié du tableau sont appelés éléments principaux. Étant donné un tableau d'entiers, trouvez son élément principal. Sinon, retournez -1.

Exemple 1:

输入:[1,2,5,9,5,9,5,5,5]
输出:5

Exemple 2:

输入:[3,2]
输出:-1

Exemple 3:

输入:[2,2,1,1,1,2,2]
输出:2

Idées de résolution de problèmes:

  1. Utilisez un dictionnaire pour indiquer le type et le nombre d'éléments dans le tableau -> Counter;
  2. Il suffit de juger si le nombre d'éléments correspondants remplit à son tour la condition.

Code:

class Solution:
    def majorityElement(self, nums):
        from collections import Counter
        words = Counter(nums)
        for word in words.items():
            if word[1] > len(nums)//2:
                return word[0]
        return -1

s = Solution()
nums = [3,2]
print(s.majorityElement(nums))

Source de la question:

https://leetcode-cn.com/problems/find-majority-element-lcci

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43283397/article/details/112861350
conseillé
Classement