Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2863 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  23709  23710  23711  ..  26991  26992  26993  26994  26995  26996
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2371844
Flaie
Posté le 17-12-2020 à 20:08:36  profilanswer
 

Reprise du message précédent :

ratibus a écrit :


C'est possible en PHP du coup ? :D


  • Bash
  • C (GCC)
  • C# (Mono)
  • C++17 (G++)
  • Clojure
  • D (GDC)
  • Dart
  • F# (Mono)
  • Go 1.11.6
  • Groovy
  • Haskell (GHC)
  • Java 11 (OpenJDK)
  • JavaScript (Node.js)
  • Julia
  • Kotlin
  • Lisp (SBCL)
  • Lua
  • OCaml
  • Objective-C (GNU)
  • Octave
  • PHP
  • Pascal (FPC)
  • Perl
  • PyPy 2
  • Python 2.7
  • Python 3.7
  • R
  • Ruby
  • Rust
  • Scala
  • Swift
  • TypeScript (Node.js)
  • Visual Basic (Mono)

mood
Publicité
Posté le 17-12-2020 à 20:08:36  profilanswer
 

n°2371845
ratibus
Posté le 17-12-2020 à 20:45:28  profilanswer
 

Flaie a écrit :


  • Bash
  • C (GCC)
  • C# (Mono)
  • C++17 (G++)
  • Clojure
  • D (GDC)
  • Dart
  • F# (Mono)
  • Go 1.11.6
  • Groovy
  • Haskell (GHC)
  • Java 11 (OpenJDK)
  • JavaScript (Node.js)
  • Julia
  • Kotlin
  • Lisp (SBCL)
  • Lua
  • OCaml
  • Objective-C (GNU)
  • Octave
  • PHP
  • Pascal (FPC)
  • Perl
  • PyPy 2
  • Python 2.7
  • Python 3.7
  • R
  • Ruby
  • Rust
  • Scala
  • Swift
  • TypeScript (Node.js)
  • Visual Basic (Mono)

:bounce: (j'hésite avec Bash :o)

n°2371846
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 17-12-2020 à 20:52:44  profilanswer
 

Anonymouse a écrit :


 
Tu prends combien toi ?


Juste pour ça ? Une dizaine d'euros sans compter le prix de l'écran :D
C'est très simple à changer. Faut juste faire gaffe à la nappe qui relie le capteur d'empreintes à la carte mère quand tu enlèves le truc. Mais ça n'a rien à voir avec le remplacement d'un écran ou d'une vitre :D


---------------
J'ai un string dans l'array (Paris Hilton)
n°2371847
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-12-2020 à 20:59:26  profilanswer
 

ratibus a écrit :


 :jap:  
Seule la solution compte ou bien aussi les perfs ?
Faut soumettre également du code ?


 
Il y a un temps maximal pour que ça tourne, en général c'est calibré pour nécessiter un algorithme asymptotiquement idéal.

n°2371848
R3g
fonctionnaire certifié ITIL
Posté le 17-12-2020 à 21:08:31  profilanswer
 

Je suis allé voir un parc éolien aujourd'hui. C'est chouette, les éoliennes, le système de contrôle, tout ça, c'est très high tech, jusqu'a ce que le mec t'explique que la livebox a planté et qu'il doit faire 3 km dans les champs pour aller la rebooter :/


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2371849
el_barbone
too old for this shit ...
Posté le 17-12-2020 à 21:31:02  profilanswer
 

R3g a écrit :

Je suis allé voir un parc éolien aujourd'hui. C'est chouette, les éoliennes, le système de contrôle, tout ça, c'est très high tech, jusqu'a ce que le mec t'explique que la livebox a planté et qu'il doit faire 3 km dans les champs pour aller la rebooter :/


nray aime ça.


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
n°2371850
pataluc
Posté le 17-12-2020 à 21:40:18  profilanswer
 

#AoC17 done aussi... pas eu le temps de le faire avant, j'étais en RTT aujourd'hui...  :D  
 

Spoiler :

j'ai pas été trop embêté par l'algo, j'ai pas voulu gérer une matrice 3d/4d, j'ai considéré un tableau des cellules actives et leurs cellules voisines... j'suis assez content de cette logique, par contre niveau perf c'est moyen il a m'a fallu 2mn30 pour calculer la version 4d...  [:tinostar]  
https://i.imgur.com/aW4RFJJ.png

n°2371851
Flaie
Posté le 17-12-2020 à 21:47:30  profilanswer
 

pataluc a écrit :

#AoC17 done aussi... pas eu le temps de le faire avant, j'étais en RTT aujourd'hui...  :D

 
Spoiler :

j'ai pas été trop embêté par l'algo, j'ai pas voulu gérer une matrice 3d/4d, j'ai considéré un tableau des cellules actives et leurs cellules voisines... j'suis assez content de cette logique, par contre niveau perf c'est moyen il a m'a fallu 2mn30 pour calculer la version 4d...  [:tinostar]
https://i.imgur.com/aW4RFJJ.png



Utilise des set plutôt que des listes pour stocker les cubes actifs, ça devrait speeder beaucoup plus.
Ton code passe de 48 sec à 7 sec sur mon ordi rien qu'avec ça.

 

Chez moi ça prends 120ms pour l'hypercube en kotlin.

Message cité 2 fois
Message édité par Flaie le 17-12-2020 à 22:07:17
n°2371852
el muchach​o
Comfortably Numb
Posté le 17-12-2020 à 22:11:40  profilanswer
 

ratibus a écrit :


Day 17 done.  :bounce:  
50 minutes pour la première partie, 7 minutes pour la seconde.
Dégoûté sur la première partie, j'avais mal lu une des règles de changement d'état, j'ai perdu au moins 20 minutes à trouver la cause :D


 
T'es une brute :o
J'ai fait la partie 1 mais je bloque à l'initialisation de l'hypercube pour la partie 2.
Sur reddit, il y a des solutions, je ne comprends même pas ce qu'ils font, les mecs, genre ça


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371853
ratibus
Posté le 17-12-2020 à 22:20:51  profilanswer
 

pataluc a écrit :

#AoC17 done aussi... pas eu le temps de le faire avant, j'étais en RTT aujourd'hui...  :D  
 

Spoiler :

j'ai pas été trop embêté par l'algo, j'ai pas voulu gérer une matrice 3d/4d, j'ai considéré un tableau des cellules actives et leurs cellules voisines... j'suis assez content de cette logique, par contre niveau perf c'est moyen il a m'a fallu 2mn30 pour calculer la version 4d...  [:tinostar]  
https://i.imgur.com/aW4RFJJ.png



Vu ton algo (si je comprends bien :o), tu repasses pas plein de fois sur les mêmes voisins (ligne 29) entre tes itérations de la ligne 28 ?

el muchacho a écrit :


 
T'es une brute :o
J'ai fait la partie 1 mais je bloque à l'initialisation de l'hypercube pour la partie 2.
Sur reddit, il y a des solutions, je ne comprends même pas ce qu'ils font, les mecs, genre ça


La différence entre la partie 1 et la partie 2 c'est qu'une dimension en + :o, mes 7 minutes, c'est le temps de lire l'énoncé, faire un copier coller du code de la partie 1 et ajouter une dimension partout dans mon code :D
Et je pense pas être une brute hein, mais c'est gentil  [:cupra]

mood
Publicité
Posté le 17-12-2020 à 22:20:51  profilanswer
 

n°2371854
masklinn
í dag viðrar vel til loftárása
Posté le 17-12-2020 à 22:21:39  profilanswer
 

el muchacho a écrit :


 
T'es une brute :o
J'ai fait la partie 1 mais je bloque à l'initialisation de l'hypercube pour la partie 2.
Sur reddit, il y a des solutions, je ne comprends même pas ce qu'ils font, les mecs, genre ça


Ah ouais elle se lâche un peu la personne qui a fait ça :D
 
Mais si tu suis en partant de day17 c'est relativement simple. Il y a des morceaux spécifiques que tu comprends pas?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2371855
Mackila
Posté le 17-12-2020 à 22:25:11  profilanswer
 

ratibus a écrit :

La différence entre la partie 1 et la partie 2 c'est qu'une dimension en + :o, mes 7 minutes, c'est le temps de lire l'énoncé, faire un copier coller du code de la partie 1 et ajouter une dimension partout dans mon code :D
Et je pense pas être une brute hein, mais c'est gentil  [:cupra]


 
Ca me rappelle quelqu'un (je viens de finir, et effectivement une fois fait le 1, j'ai rajouté une couche de boucle partout pour faire le 2.
Là ou je suis content [:dawa] , c'est que j'ai eu les 2 étoiles au premier run (j'ai eu 1 fois faux à la première, mais c'est parceque j'avais mis la solution de l'étoile 1 du 16, cause oubli de changer le projet de démarrage  [:tinostar] )
 
edit :

Spoiler :

#2 = 1620 (814ms)


Message édité par Mackila le 17-12-2020 à 22:27:28
n°2371856
el muchach​o
Comfortably Numb
Posté le 17-12-2020 à 22:25:26  profilanswer
 

Flaie a écrit :


Utilise des set plutôt que des listes pour stocker les cubes actifs, ça devrait speeder beaucoup plus.
Ton code passe de 48 sec à 7 sec sur mon ordi rien qu'avec ça.
 
Chez moi ça prends 120ms pour l'hypercube en kotlin.


Tu l'as retapé à la main ? :heink:


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371857
pataluc
Posté le 17-12-2020 à 22:39:18  profilanswer
 

Flaie a écrit :


Utilise des set plutôt que des listes pour stocker les cubes actifs, ça devrait speeder beaucoup plus.
Ton code passe de 48 sec à 7 sec sur mon ordi rien qu'avec ça.
 
Chez moi ça prends 120ms pour l'hypercube en kotlin.


 
ah yes effectivement je descend à 9s... j'ai trop le réflexe list  [:dark_schneider]  
 

ratibus a écrit :


Vu ton algo (si je comprends bien :o), tu repasses pas plein de fois sur les mêmes voisins (ligne 29) entre tes itérations de la ligne 28 ?

si carrément, faut que j'optimise ça...
 

el muchacho a écrit :


Tu l'as retapé à la main ? :heink:


je me suis posé la même  :D  

n°2371858
el muchach​o
Comfortably Numb
Posté le 17-12-2020 à 22:41:54  profilanswer
 

ratibus a écrit :


La différence entre la partie 1 et la partie 2 c'est qu'une dimension en + :o, mes 7 minutes, c'est le temps de lire l'énoncé, faire un copier coller du code de la partie 1 et ajouter une dimension partout dans mon code :D
Et je pense pas être une brute hein, mais c'est gentil  [:cupra]


Bon clairement je n'ai pas fait ce qu'il faut, je me suis compliqué la tâche: j'ai commencé par construire un cube avec le schéma de départ au centre. C'est ce qui m'a posé le plus de problèmes et une erreur la-dedans, et j'ai systématiquement un index out of bound à un endroit donné du code parce qu'une des dimensions n'est pas régulière.
 
Sauf que je ne sais pas mettre mon motif de départ au centre d'un hypercube. J'ai vu la solution de pataluc, et il ne se fait pas chier à créer un hypercube: c'est compliqué et lent, en plus. Parce que en 3D, j'ai 20x20x20 cellules à muter, et en 4D j'ai 20^4 cellules à parcourir, avec 80 cellules autour chacune.
 
Je ne connaissais pas la technique de garder les coordonnées dans un set. Maintenant que je l'ai vue, je m'en veux de ne pas l'avoir découverte. Mais j'ai l'impression que tu fais un peu comme moi, sauf que pas vraiment, et j'aimerais bien savoir ce que tu fais qui te simplifie la vie. En particulier, tu n'as pas l'air de te faire chier à construire un cube ou un hypercube avec la position de départ au centre.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371859
masklinn
í dag viðrar vel til loftárása
Posté le 17-12-2020 à 22:46:32  profilanswer
 

el muchacho a écrit :


Je ne connaissais pas la technique de garder les coordonnées dans un set. Maintenant que je l'ai vue, je m'en veux de ne pas l'avoir découverte. Mais j'ai l'impression que tu fais un peu comme moi, sauf que pas vraiment, et j'aimerais bien savoir ce que tu fais qui te simplifie la vie. En particulier, tu n'as pas l'air de te faire chier à construire un cube ou un hypercube avec la position de départ au centre.


Avec un set tu limites vachement les interactions avec les cellules inactives, et tu t’emmerdes pas avec du centrage ou quoi que ce soit, ton espace est sparse et infini donc tu as pas besoin de réifier ton espace en un hypercube avec des limites & des indices que tu dois remapper sur les cellules virtuelles.

Message cité 1 fois
Message édité par masklinn le 17-12-2020 à 22:48:01

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2371860
el muchach​o
Comfortably Numb
Posté le 17-12-2020 à 22:51:17  profilanswer
 

masklinn a écrit :


Avec un set tu limites vachement les interactions avec les cellules inactives, et tu t’emmerdes pas avec du centrage ou quoi que ce soit, ton espace est sparse et infini donc tu as pas besoin de réifier ton espace en un hypercube avec des limites & des indices que tu dois remapper sur les cellules virtuelles.


Oui, c'est en lisant le code de pataluc que j'ai compris cela. C'est tellement plus élégant à tout point de vue que j'ai presque honte de mon code à coté.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371861
pataluc
Posté le 17-12-2020 à 22:53:08  profilanswer
 


pataluc a écrit :

si carrément, faut que j'optimise ça...
 


 
en construisant un set des cellules actives et leur voisines et en bouclant dessus, je descend à 4s:
 

Spoiler :

https://i.imgur.com/58gjMtu.png

n°2371862
el muchach​o
Comfortably Numb
Posté le 17-12-2020 à 22:56:27  profilanswer
 

pataluc a écrit :

 

en construisant un set des cellules actives et leur voisines et en bouclant dessus, je descend à 4s:

 



Tu veux pas donner le lien vers ton Github, plutôt, qu'on puisse jouer un peu avec tes solutions ? :o
Parce que les copies d'écran, c'est frustrant. :o
(ou créer un autre compte Github)

 

edit: ou alors tu copies colles juste le code

Message cité 1 fois
Message édité par el muchacho le 17-12-2020 à 23:01:55

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371863
masklinn
í dag viðrar vel til loftárása
Posté le 17-12-2020 à 23:02:40  profilanswer
 

el muchacho a écrit :


Tu veux pas donner le lien vers ton Github, plutôt, qu'on puisse jouer un peu avec tes solutions ? :o
Parce que les copies d'écran, c'est frustrant. :o
(ou créer un autre compte Github)
 
edit: ou alors tu copies colles juste le code


Ou juste les mettre dans un pastebin quelconque :D


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2371864
pataluc
Posté le 17-12-2020 à 23:20:17  profilanswer
 

j'avais triché sur le modus operandi de Flaie... :P
https://github.com/pataluc/AoC2020/blob/master/day17.py

n°2371865
el muchach​o
Comfortably Numb
Posté le 17-12-2020 à 23:48:41  profilanswer
 

pataluc a écrit :

j'avais triché sur le modus operandi de Flaie... :P
https://github.com/pataluc/AoC2020/blob/master/day17.py


Ben voila [:bobbyfrasier:4]
ton code tourne en 2,5s chez moi.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371866
pataluc
Posté le 18-12-2020 à 00:16:29  profilanswer
 

moi aussi maintenant... :D
 

$ time python day17.py
ex1: 295
ex2: 1972
 
real    0m1,890s
user    0m0,015s
sys     0m0,016s

Message cité 2 fois
Message édité par pataluc le 18-12-2020 à 00:16:58
n°2371867
Flaie
Posté le 18-12-2020 à 05:57:31  profilanswer
 

el muchacho a écrit :


Tu l'as retapé à la main ? :heink:


Non j'ai tappé extract text from image j'ai pris un des premiers liens google, upload la photo.
J'ai juste eu à indenter les lignes, et il manquait un égal :)
 

pataluc a écrit :

moi aussi maintenant... :D
 

$ time python day17.py
ex1: 295
ex2: 1972
 
real    0m1,890s
user    0m0,015s
sys     0m0,016s



Nice :D

n°2371868
el muchach​o
Comfortably Numb
Posté le 18-12-2020 à 06:29:28  profilanswer
 

pataluc a écrit :

moi aussi maintenant... :D
 

$ time python day17.py
ex1: 295
ex2: 1972
 
real    0m1,890s
user    0m0,015s
sys     0m0,016s



Tu peux encore pas mal gagner en remplacer les appels à range(-1,2) par (-1,0,1), ce qui est aussi plus clair.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371869
Flaie
Posté le 18-12-2020 à 06:32:24  profilanswer
 

Day 18, done.
 
Aujourd'hui c'était vraiment le moment de prendre un langage qui permet d'éval, Python/Ruby/JS/..., je pense ça peut etre réglé en 10-15 lignes, au lieu de ça j'ai parsé les token à l'ancienne

n°2371870
el muchach​o
Comfortably Numb
Posté le 18-12-2020 à 07:42:10  profilanswer
 

Flaie a écrit :

Day 18, done.
 
Aujourd'hui c'était vraiment le moment de prendre un langage qui permet d'éval, Python/Ruby/JS/..., je pense ça peut etre réglé en 10-15 lignes, au lieu de ça j'ai parsé les token à l'ancienne


Je pense que ça sert pas à grand chose l'eval ici, vu que les règles sont changées.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2371871
Flaie
Posté le 18-12-2020 à 07:44:55  profilanswer
 

el muchacho a écrit :


Je pense que ça sert pas à grand chose l'eval ici, vu que les règles sont changées.


A mon avis si, si tu fais un regex replace pour remplacer les opérateurs par des fonctions, et que tu les files en contexte de l'eval.

n°2371872
Anonymouse
Posté le 18-12-2020 à 08:31:09  profilanswer
 

Harkonnen a écrit :


Juste pour ça ? Une dizaine d'euros sans compter le prix de l'écran :D
C'est très simple à changer. Faut juste faire gaffe à la nappe qui relie le capteur d'empreintes à la carte mère quand tu enlèves le truc. Mais ça n'a rien à voir avec le remplacement d'un écran ou d'une vitre :D


 
Bon je vais commander le derrière et je te tiens au jus si ça t'intéresse.

n°2371873
Flaie
Posté le 18-12-2020 à 08:35:15  profilanswer
 

Flaie a écrit :


A mon avis si, si tu fais un regex replace pour remplacer les opérateurs par des fonctions, et que tu les files en contexte de l'eval.


Par exemple: https://www.reddit.com/r/adventofco [...] s/gg85lp7/
En 8 lignes c'est sexy chocolat


Message édité par Flaie le 18-12-2020 à 08:35:57
n°2371877
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 18-12-2020 à 09:23:22  profilanswer
 

el muchacho a écrit :


Oui, c'est en lisant le code de pataluc que j'ai compris cela. C'est tellement plus élégant à tout point de vue que j'ai presque honte de mon code à coté.


Si ça peut te rassurer :  
https://code.sololearn.com/c9a21a24A14a

n°2371878
Flaie
Posté le 18-12-2020 à 09:25:43  profilanswer
 


Je pense qu'on a à peu près tous une belle envolée d'oiseau :D

n°2371880
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 18-12-2020 à 09:28:46  profilanswer
 

Flaie a écrit :

Day 18, done.

 

Aujourd'hui c'était vraiment le moment de prendre un langage qui permet d'éval, Python/Ruby/JS/..., je pense ça peut etre réglé en 10-15 lignes, au lieu de ça j'ai parsé les token à l'ancienne

 

Pour le coup je suis assez content de ma solution. J'ai mis 2h pour un truc qui aurait pu être torché en 10 minutes mais bon, comme d'hab j'ai envie de dire... https://code.sololearn.com/ca193a12A74A

 

Ce qui m'a mis dedans c'est que j'étais convaincu, comme on partait sur un système sans priorité, qu'on allait vers de la notation polonaise inverse ; j'ai fait une solution hyper élégante avec une belle stack en partie 1, et j'ai pas trouvé comment la réutiliser pour la 2...

Message cité 2 fois
Message édité par hephaestos le 18-12-2020 à 09:29:45
n°2371881
Flaie
Posté le 18-12-2020 à 09:37:17  profilanswer
 

hephaestos a écrit :


 
Pour le coup je suis assez content de ma solution. J'ai mis 2h pour un truc qui aurait pu être torché en 10 minutes mais bon, comme d'hab j'ai envie de dire... https://code.sololearn.com/ca193a12A74A
 
Ce qui m'a mis dedans c'est que j'étais convaincu, comme on partait sur un système sans priorité, qu'on allait vers de la notation polonaise inverse ; j'ai fait une solution hyper élégante avec une belle stack en partie 1, et j'ai pas trouvé comment la réutiliser pour la 2...


Je suis parti sur une solution qui parse l'entrée et donne une stack, ensuite y'a plus qu'à itérer sur la stack et apply les opérateurs.
 
Par contre je suis pas assez bon en C++ je comprends pas ton code, je vais faire des recherches ;) .

n°2371882
gfive
Posté le 18-12-2020 à 09:37:45  profilanswer
 

Je rattrape lentement mon retard à l'Advent of Code.
 
Le D15, c'est un peu trop facile, non? (pour rappel, c'est le jeu où il faut calculer le nombre au 30000000 tour de jeu)
 
J'ai 0 modif entre les 2 parties, je pige pas la difficulté?


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2371883
skeye
Posté le 18-12-2020 à 09:39:23  profilanswer
 

gfive a écrit :

Je rattrape lentement mon retard à l'Advent of Code.
 
Le D15, c'est un peu trop facile, non? (pour rappel, c'est le jeu où il faut calculer le nombre au 30000000 tour de jeu)
 
J'ai 0 modif entre les 2 parties, je pige pas la difficulté?


 
il manque un 0 dans l'énoncé vu d'ici, l'objectif devait être de rendre le calcul "simple" trop long. :o
Je m'y remets aussi tiens, j'ai rien pu toucher depuis avant-hier, j'avais juste fait le 1) vite fait. :o


---------------
Can't buy what I want because it's free -
n°2371884
Flaie
Posté le 18-12-2020 à 09:39:56  profilanswer
 

gfive a écrit :

Je rattrape lentement mon retard à l'Advent of Code.
 
Le D15, c'est un peu trop facile, non? (pour rappel, c'est le jeu où il faut calculer le nombre au 30000000 tour de jeu)
 
J'ai 0 modif entre les 2 parties, je pige pas la difficulté?


Si t'as pas le bon algo, ça prends trop de temps la deuxième partie à s'exécuter je pense

n°2371885
skeye
Posté le 18-12-2020 à 09:40:39  profilanswer
 

Flaie a écrit :


Si t'as pas le bon algo, ça prends trop de temps la deuxième partie à s'exécuter je pense


Bof, si mes souvenirs sont bons mon algo "naïf" mettait genre 30s...en php.


---------------
Can't buy what I want because it's free -
n°2371886
gfive
Posté le 18-12-2020 à 09:43:16  profilanswer
 

3 secondes ici.
Je sais pas si mon algo est naïf ou pas :
 

Code :
  1. public static int play(int target, int... start) {
  2.         Map<Integer, LastTurns> numbers = new HashMap<>();
  3.         int spoken = -1;
  4.         int round = 0;
  5.         for (; round < start.length; round++) {
  6.             spoken = start[round];
  7.             numbers.computeIfAbsent(spoken, s -> new LastTurns()).play(round);
  8.         }
  9.         while (round < target) {
  10.             spoken = Optional.ofNullable(numbers.get(spoken)).map(LastTurns::diff).orElse(0);
  11.             numbers.computeIfAbsent(spoken, s -> new LastTurns()).play(round);
  12.             round++;
  13.         }
  14.         return spoken;
  15.     }
  16.     private static class LastTurns {
  17.         int lastTurn = -1;
  18.         int ante = -1;
  19.         public void play(int turn) {
  20.             ante = lastTurn;
  21.             lastTurn = turn;
  22.         }
  23.         public int diff() {
  24.             return ante == -1 ? 0 : lastTurn - ante;
  25.         }
  26.     }


---------------
Tous les sud africains sont ségrégationistes, à part Ted. (P. Desproges)
n°2371887
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 18-12-2020 à 09:44:38  profilanswer
 

skeye a écrit :


Bof, si mes souvenirs sont bons mon algo "naïf" mettait genre 30s...en php.


Ça reste un algo en O(n), ou O(nlog(n)). Il y a moyen de l'écrire en O(n^2), ce qui posait plus problème.

n°2371889
el muchach​o
Comfortably Numb
Posté le 18-12-2020 à 12:17:54  profilanswer
 


Ah oui [:easyupper]

 

ma soluce

 

(en gros la même chose, mais j'ai quand même nommé des fonctions, et j'ai fait un cube de (i,j,k) pour les plus proches voisins minus le centre, et à chaque (x,y,z) de l'espace, (x+i, y+j, z+k) me donne les voisins)


Message édité par el muchacho le 18-12-2020 à 12:25:55

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  23709  23710  23711  ..  26991  26992  26993  26994  26995  26996

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)