Suite de Dernière fois Cette fois, le code pour trouver la valeur la plus fréquente du tableau Le code de réponse en C ++ a déjà été publié, mais je l'ai réécrit en python.
test.cpp
int mostFrequent;
int highestFrequency = 0;
int currentFrequency = 0;
for (int i = 0; i < ARRAY_SIZE; i++){
currentFrequency++;
if (i == ARRAY_SIZE - 1 || surveyData[i] != surveyData[i + 1]){
if (currentFrequency > highestFrequency){
highestFrequency = currentFrequency;
mostFrequent = surveyData[i];
}
currentFrequency = 0;
}
}
test37.py
#!/usr/bin/env python
#coding:utf-8
import math
elem = [4,7,3,8,9,7,3,9,9,3,3,10]
###Je le répare
#count = {Elem.count(v):v for v in set(Elem)}
#high = max(count)
#most = count[high]
elem.sort()
most = 0
high = 0
current = 0
#for i,v in enumerate(Elem):
for i in range(len(elem)):
current += 1
if i == len(elem) - 1 or elem[i] != elem[i+1]:
if current > high:
high = current
most = elem[i]
current = 0
print('Tableau=',elem, '\n' , 'Valeur la plus fréquente:',most,'|','Nombre de fois:',high)
・ ・ ・(Exécution du terminal)
>>> import test37
Tableau= [3, 3, 3, 3, 4, 7, 7, 8, 9, 9, 9, 10]
Valeur la plus fréquente: 3 |Nombre de fois: 4
>>>
Profitant de la réflexion précédente, j'ai pensé à utiliser la "notation d'inclusion de liste" et la "notation d'inclusion de générateur", mais comme je devais compter à la partie de courant + = 1, j'ai répété l'instruction if ci-dessus. Fait. Même s'il existe un code de réponse, il faut du temps pour le changer en python, donc je sens que je dois m'y habituer.
Recommended Posts