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:
- Utilisez un dictionnaire pour indiquer le type et le nombre d'éléments dans le tableau -> Counter;
- 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: