Défi simple: étant donné une série de nombres entiers positifs, trouvez le nombre qui contient parmi ses chiffres la plus longue série de chiffres consécutifs. L'astuce? Il est autorisé que les chiffres dans les exécutions entourent les valeurs possibles ( 0123456789
) et s'exécutent en arrière. Ainsi , les deux 2345
, 89012
et 5432109
sont valides de runs chiffres consécutifs (mais pas , 3456765
ni 321090123
que la course doit être toujours dans la même direction, bien que 3456765
peut être considéré comme deux pistes: 34567
et 765
). En cas d'égalité, retournez le premier.
Cas de test:
Input: [3274569283, 387652323, 23987654323648, 2345687913624]
Output: 23987654323648
(The run is 98765432; run length: 8)
Input: [123012363672023, 098761766325432, 15890123456765]
Output: 15890123456765
(The run is 8901234567; run length: 10)
Input: [43, 19, 456]
Output: 456
Input: [5, 9, 0]
Output: 5
Input: [71232107, 7012347]
Output: 7012347
Input: [1234, 32109876]
Output: 32109876
Input: [9090, 123]
Output: 123
Remarques:
- Il y aura au moins un nombre dans l'entrée.
- Les numéros d'entrée peuvent contenir des zéros non significatifs.
- L'entrée et la sortie peuvent être dans n'importe quel format raisonnable . Ainsi, les nombres saisis peuvent être considérés comme des chaînes, des listes de chiffres / caractères ...
- La sortie peut contenir des espaces et des retours à la ligne de fin et / ou de début tant que le numéro est imprimé.
- C'est du golf de code , donc le programme / la fonction la plus courte pour chaque langue peut gagner!
[7,8,1,6]
a donc une exécution maximale de[7,8]
plutôt que[6,7,8]
, oui?78
dans ce cas.Réponses:
Gelée , 18 octets
Essayez-le en ligne!
Prend et retourne sous forme de liste de chiffres afin de conserver les zéros non significatifs.
la source
3210
dans le premier numéro btw)A
là-dedans.JavaScript (ES6),
10410298 octetsPrend la saisie sous forme de liste de listes de chiffres. Renvoie le meilleur.
Cas de test
Afficher l'extrait de code
la source
Gelée ,
18 1615 octetsUn lien monadique prenant une liste de listes de chiffres, et renvoyant celui le plus à gauche contenant une course maximale comme décrit.
Essayez-le en ligne! ou voir un suite de tests (avec un traitement pour donner l'impression que les E / S sont dans la question).
Comment?
la source
V€
pas sûr de cela, vous devrez peut-être compter les zéros non significatifs.Python 2 , 118 octets
Prend une liste de listes de chiffres
a
; renvoie l'une de ses listes.Essayez-le en ligne!
la source
[[9,0,9,0],[1,2,3]]
.Coque , 20 octets
Prend et renvoie une liste de listes de chiffres. Essayez-le en ligne!
Explication
la source
MATLAB, 130 octets
Prendre l'entrée dans le tableau, tableau des différences de colonne [X (2) -X (1), ..., X (n) -X (n-1)], vérifier la valeur la plus fréquente dans le tableau (1 ordre croissant - 1 sinon), obtenez l'indice de la valeur la plus fréquente ou -9 multiplié par la valeur la plus fréquente (-9 se produit dans l'ordre croissant, 9 sinon), trouvez les indices consécutifs (c'est-à-dire dont la différence est égale à 1) et additionnez-le s'il vous plaît, car il est tard. Sortie le plus grand.
Essayez-le en ligne!
la source