été de '69: renvoie la somme des chiffres dans le tableau, sauf ignorer les sections de nombres commençant par un 6 et s'étendant à la prochaine 9 (tous les 6 seront suivis d'au moins un 9). Retour 0 pour non chiffres. P>
Summer_69 ([1, 3, 5]) -> 9
Summer_69 ([4, 5, 6, 7, 8, 9]) -> 9
Été_69 ([2, 1, 6, 9, 11]) -> 14 P>xxx pré> Je m'attends à la sortie de l'été_69 ([4, 5, 6, 7, 8, 9]) -> 9, mais le La sortie réelle a 18 ans.
J'attends la sortie de l'été_69 ([2, 1, 6, 9,11]) -> 14, mais la sortie réelle est 23 p> blockQuote> blockQuote>
5 Réponses :
Je ne sais pas si c'est une bonne approche en raison de la conversion de chaîne.
Vous pouvez le faire en supprimant tous les éléments entre 6 et 9 (pour tous les intervalles) et simplement résumer les éléments de la liste qui sont restés.
Pour supprimer des pièces entre 6 et 9, vous pouvez utiliser La fonction Un objet en tranches est utilisé pour spécifier comment couper une séquence. Vous pouvez
Spécifiez où commencer la tranchée et où se terminer. p>
blockQuote> sortie: p> ex. p> SLICE ( ) Fonction code> p>
SLICE () code> renvoie un objet de tranche. P>
Nous pouvons également stocker des indices de nombres dans dict code>, il nécessitera plus de mémoire, mais nous obtiendrons o (n) code> au lieu de o (n ^ 2) < / code>
Je suis un nouveau programme à la programmation, ma solution pour ce problème, qui considère que "toutes les variations" possibles est donnée ci-dessous:
Bienvenue à Stackoverflow! Alors que ce code peut résoudre la question, , y compris une explication de la manière et pourquoi cela résout le problème aiderait vraiment à améliorer la qualité de la qualité. de votre message et aboutit probablement à plus de votes. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, pas seulement la personne qui demande maintenant. S'il vous plaît Modifier Votre réponse pour ajouter des explications et donner une indication de quelles limitations et hypothèses s'appliquent.
def summer_69(arr):
total = 0
add = True
for num in arr:
while add:
if num != 6:
total += num
break
else:
add = False
while not add:
if num != 9:
break
else:
add = True
break
return total
S'il vous plaît ajouter une petite description à votre réponse.