Solutions de problèmes d'algorithmes
Ce fichier est le README.md du projet GitHub https://github.com/lzwjava/algorithm-solutions.
Solutions de Problèmes d’Algorithmes
Solutions à certains problèmes d’algorithmes provenant de plateformes de jugement en ligne.
plateforme | problèmes résolus |
---|---|
UVa | 568 |
Codeforces | 419 |
LeetCode | 20 |
Hacker Rank | 20(SQL) |
langage | lignes de code |
---|---|
Java | 70851 |
C++ | 3214 |
Python | 1193 |
SQL | 101 |
Ce dépôt contient des solutions à divers problèmes d’algorithmes provenant de plateformes telles que Codeforces, HackerRank, LeetCode, Lintcode, Nowcoder et UVa. Chaque solution est organisée par numéro de problème et inclut le code source, les fichiers d’entrée, et parfois, une documentation supplémentaire.
Structure du dépôt
README.md
: Ce fichier.codeforces/
: Contient des solutions aux problèmes de Codeforces.hacker_rank/
: Contient des solutions aux problèmes SQL de HackerRank.leetcode/
: Contient des solutions aux problèmes de LeetCode.lintcode/
: Contient des solutions aux problèmes de Lintcode.nowcoder/
: Contient des solutions aux problèmes de Nowcoder.uva/
: Contient des solutions aux problèmes de UVa.
Codeforces
Chaque sous-répertoire dans le répertoire codeforces
porte le nom d’un numéro de problème et inclut ce qui suit :
1.in
: Fichier d’entrée pour le problème.src/Main.java
: Fichier de code source Java contenant la solution au problème.
HackerRank
Le répertoire hacker_rank
contient des fichiers SQL pour divers problèmes. Chaque fichier porte le nom du problème qu’il résout.
LeetCode
Le répertoire leetcode
contient des scripts Python pour différents problèmes. Les fichiers portent le nom des problèmes qu’ils résolvent, comme two_sum.py
ou valid_parentheses.py
.
Lintcode
Chaque sous-répertoire dans le répertoire lintcode
porte le nom d’un numéro de problème et inclut ce qui suit :
src/com/lintcode/Main.java
: Fichier de classe principal pour la solution.src/com/lintcode/Solution.java
: Fichier de classe de solution pour le problème.src/com/lintcode/
: Fichiers de classes supplémentaires selon les besoins du problème.
Nowcoder
Chaque sous-répertoire dans le répertoire nowcoder
porte le nom d’un problème et inclut ce qui suit :
Solution.java
: Fichier de classe de solution pour le problème.Test.java
: Fichier de classe de test pour le problème.TreeNode.java
: (Si applicable) Fichier de classe TreeNode pour les problèmes impliquant des structures d’arbre.
UVa
Résolus : 568, Soumissions : 1776
Q1 | Q2 | Q3 |
---|---|---|
100: Le problème 3n + 1 | 101: Le problème des blocs | 102: Tri écologique des déchets |
103: Empilement des boîtes | 104: Arbitrage | 105: Le problème de la skyline |
106: Le dernier théorème de Fermat | 107: Le chat dans le chapeau | 108: Maximum Sum |
110: Tri sans boucle | 111: Histoire des notes | 112: Somme des arbres |
113: Puissance de la cryptographie | 116: TSP unidirectionnel | 118: Explorateurs mutants Flatworld |
119: Donneurs de cadeaux avides | 120: Piles de crêpes | 122: Arbres sur le niveau |
123: Recherche rapide | 124: Following Orders | 127: “Accordian” Patience |
128: CRC de logiciel | 129: Facteur Krypton | 131: L’effet domino |
133: La file d’attente des Dole | 136: Nombres hideux | 138: Numéros de rue |
140: Bande passante | 146: Codes ID | 147: Dollars |
151: Crise d’énergie | 152: Arbre de foule | 156: Ananagrams |
160: Facteurs et factoriels | 167: Les Successeurs du Sultan | 185: Numéros romains |
190: Cercle à travers trois points | 193: Coloration de graphique | 195: Anagramme |
196: Feuille de calcul | 197: Satellites en orbite | 200: Ordre rare |
201: Carrés | 202: Décimales répétitives | 208: Camion de pompier |
210: Détermination des périodes | 211: L’effet domino | 213: Décodage de message |
216: Aligner | 221: Partitionner polygon | 225: Régles de Golomb |
227: Puzzle | 230: Emprunteurs | 231: Tester le CATCHER |
247: Cercles d’appels | 253: Peinture de cube | 256: Carrés bizarres |
260: Il Gioco dell’X | 264: Compter sur Cantor | 272: Citation TEX |
278: Échecs | 280: Sommet | 291: La Maison de Santa Claus |
294: Diviseurs | 297: Quadtrees | 299: Échange de trains |
301: Transport | 305: Joseph | 307: Bâtonnets |
315: Réseau | 317: Transmission de puissance | 324: Fréquences de facteurs premiers |
327: Évaluer des expressions C simples | 331: Échanger des évaluations | 336: Un nœud trop loin |
340: Indices Master-Mind | 343: Quelle base est-ce ? | 344: Digititis romaine |
348: Séquence de multiplication de tableau optimal | 350: Nombres pseudo-aléatoires | 352: La guerre saisonnière |
353: Palindromes ennuyeux | 357: Compter les façons | 369: Combinations |
371: Fonctions d’Ackermann | 374: Modulo grand | 375: Cercles inscrits et triangles isocèles |
378: Lignes d’intersection | 382: Parfait | 386: Cubes parfaits |
387: Substitution répétée avec Sed | 389: Parler de base | 392: Affrontement de polynômes |
400: Unix ls | 401: Palindromes | 406: Couper les primes |
408: Générateur uniforme | 409: Excuses, Excuses! | 412: Pi |
414: Surfaces usinées | 417: Index de mots | 424: Requête d’entier |
429: Transformation de mots | 437: La tour de Babel | 438: La circonférence du cercle |
439: Mouvements du chevalier | 440: Eeny Meeny Moo | 441: Lotto |
442: Multiplication matricielle en chaîne | 443: Nombres humbles | 444: Encoder et décodeur |
445: Labyrinthes merveilleux | 446: Kibbles n' Bits n’ Bits `n’ Bits |
455: Chaînes périodiques |
457: Automates cellulaires linéaires | 458: Le décodeur | 459: Connectivité du graphique |
465: Dépassement | 469: Zones humides de la Floride | 476: Points dans les figures : rectangles |
477: Points dans les figures : rectangles et cercles | 478: Points dans les figures : rectangles, cercles, triangles | 481: Qui monte |
482: Tableaux de permutation | 483: Mots mélangés | 484: Le département de la redondance |
488: Onde triangulaire | 489: Juges pendus | 490: Phrases tournées |
492: Pig-Latin | 494: Jeu de comptage de maternelle | 495: Froid de la fibre de verre |
496: Simple Sous-ensembles | 497: Initiative de défense stratégique | 499: Quelle est la fréquence, Kenneth ? |
507: Jill fait encore un tour | 509: Juste les faits | 512: Chemins de fer taïwanais |
514: Rails | 524: Problème de l’anneau premier | 530: Affrontement binomial |
531: Compromis | 532: Maître de donjon | 534: Frogger |
536: Récupération d’arbre | 537: Chemins de fer | 539: Les colons de Catan |
540: File d’attente d’équipe | 541: Correction d’erreurs | 543: Conjecture de Goldbach |
544: Cargo lourd | 548: Arbre | 550: Multiplication par rotation |
558: Trou de ver | 562: Diviser les pièces | 567: Risque |
568: Juste les faits | 572: Dépôts de pétrole | 573: L’escargot |
574: Totaliser | 575: Binaire biaisé | 576: Avis haïku |
579: Aiguilles d’horloge | 583: Facteurs premiers | 591: Briques de briques |
594: Petits, deux petits, trois petits Endians | 612: Tri de l’ADN | 621: Recherche secrète |
623: 500! | 624: CD | 637: Impression de livret |
639: Ne pas se faire rouler | 640: Numéros auto | 644: Décodabilité immédiate |
657: Le dé est jeté | 661: Fusibles soufflés | 673: Équilibre des parenthèses |
674: Changement de pièce | 679: Billes tombantes | 686: Conjecture de Goldbach (II) |
694: La séquence de Collatz | 696: Combien de chevaliers | 699: Les feuilles qui tombent |
705: Labyrinthe de slash | 706: Affichage LC | 712: Arbres S |
713: Addition de nombres inversés | 714: Copier des livres | 725: Division |
727: Équation | 729: Problème de distance de Hamming | 748: Exponentiation |
750: Problème des 8 reines aux échecs | 755: 487–3279 | 784: Exploration de labyrinthe |
793: Connexions réseau | 796: Liens critiques | 815: Inondé ! |
818: Correspondance d’emplois | 820: Bande passante Internet | 821: Saut de pages |
834: Fractions continues | 836: Plus grand sous-matrice | 839: Non si mobile |
846: Étapes | 847: Un jeu de multiplication | 900: Motifs de murs en briques |
913: Joana et les nombres impairs | 924: Diffusion des nouvelles | 929: Labyrinthe de nombres |
948: Base de Fibonaccimal | 993: Produit des chiffres | 1124: Célébrité Jeopardy |
1149: Plongée dangereuse | 1152: 4 Valeurs dont la somme est 0 | 1203: Argus |
1225: Dénombrement des chiffres | 1230: MODEX | 1237: Suffisamment expert ? |
1260: Ventes | 1339: Cipher ancien | 1368: Chaîne consensus ADN |
1374: Transmission de puissance | 1451: Ghostbusters 2 | 1471: Plongée dangereuse |
1583: Racines numériques | 1584: Mathématiques | 1585: Score |
1586: Masse molaire | 1587: Boîte | 1588: Guerre |
1589: Partitionnement | 1590: Ascenseur | 1592: Transmission |
1593: Tuyaux | 1594: Diamant | 1595: Un seul |
1604: Champion sauteur | 1605: Somme de Fibonacci | 1606: Bonbons |
1607: Numéros de Kaprekar | 1608: Promenade aléatoire | 1609: Suite Look-and-say |
10000: Chemins les plus longs | 10003: Couper des bâtons | 10004: Bicoloration |
10006: Nombres de Carmichael | 10008: Qu’est-ce que la cryptanalyse ? | 10010: Où est Waldorf ? |
10012: Quelle est sa taille ? | 10013: Sombres sommes | 10014: Conversion de base simple |
10018: Inverser et ajouter | 10019: Méthode de cryptage amusante | 10025: Le jeu du Maître |
10026: Problème du cordonnier | 10033: Billard | 10034: Taches de rousseur |
10035: Arithmétique primaire | 10036: Divisibilité | 10038: Sauts joyeux |
10041: Famille de Vito | 10042: Nombres de Smith | 10047: Le monocycle |
10048: Audiophobie | 10050: Grèves | 10054: Le collier |
10055: Hashmat le brave guerrier | 10056: Quelle est la probabilité ? | 10061: Comment résoudre le cryptarithme ? |
10062: Dites-moi les fréquences ! | 10066: Les tours jumelles | 10067: Jouer avec des roues |
10070: Année bissextile ou non bissextile et … | 10071: Retour à la physique du lycée | 10074: Prendre la terre |
10077: Le système de nombres de Stern-Brocot | 10079: Couper des pizzas | 10082: WERTYU |
10098: Génération rapide | 10099: Le guide touristique | 10101: Nombres bangla |
10102: Le chemin dans le champ coloré | 10104: Problème d’Euclide | 10105: Coefficients polynomiaux |
10106: Produit | 10107: Quelle est la médiane ? | 10110: Lumière, plus de lumière |
10112: Myacron Lifetime Achievement Award | 10114: Acheteur de voiture avare | 10115: Édition automatique |
10116: Mouvement de robot | 10123: Bataille de boules de neige ! | 10125: Ensembles de sommes |
10127: Au régime | 10129: Jeux de mots | 10130: SuperVente |
10131: Est-ce plus intelligent ? | 10137: Le voyage | 10139: Factovisors |
10140: Distance des nombres premiers | 10141: Demande de proposition | 10152: Tri ShellSort |
10160: Stations de service | 10161: Fourmi sur un échiquier | 10167: Gâteau d’anniversaire |
10168: Sommes de quatre nombres premiers | 10170: L’hôtel aux chambres infinies | 10177: Palindromes magiques |
10179: Fractions de base irréductibles | 10183: Combien de Fibs ? | 10189: Minesweeper |
10190: Diviser, mais pas tout à fait conquérir ! | 10191: Longue sieste | 10192: Vacances |
10193: Tout ce dont vous avez besoin c’est l’amour | 10194: Football (aussi Soccer) | 10195: Les Chevaliers de la Table Ronde |
10198: Comptage | 10199: Guide touristique | 10205: Stack ‘em Up |
10209: C’est de l’intégration ? | 10219: Trouver les moyens ! | 10220: J’aime les grands nombres ! |
10221: Deux-Trois Moves | 10222: Décoder le message | 10226: Essences de bois dur |
10229: Modulo Fibonacci | 10235: Simplement Emirp | 10242: Quatrième point ! |
10245: Le problème du plus proche couple | 10250: Les deux autres arbres | 10252: Permutation commune |
10258: Tableau des scores du concours | 10260: Soundex | 10267: Éditeur graphique |
10276: Ennuis à nouveau avec la tour de Hanoi ! | 10281: Vitesse moyenne | 10282: Babelfish |
10285: Plus long parcours de snowboard | 10286: Ennuis avec un pentagone | 10295: Points de foin |
10298: Chaines puissantes | 10299: Parents | 10300: Prime écologique |
10302: Somme des polynômes | 10305: Ordre des tâches | 10310: Chien et blaireau |
10323: Factorial ! Tu dois être fou ! | 10324: Zéros et uns | 10327: Triage |
10334: Rayon à travers des lunettes | 10336: Classement des langues | 10338: Enfants espiègles |
10340: Tout en tout | 10341: Résolvez-le | 10344: 23 sur 5 |
10346: Fumeurs de Peter | 10347: Médianes | 10361: Poésie automatique |
10369: Réseau arctique | 10370: Au-dessus de la moyenne | 10387: Billes de billard |
10391: Mots composés | 10392: Facturation de grands nombres | 10394: Nombres premiers jumeaux |
10397: Connecter le campus | 10405: La plus longue sous-séquence commune | 10409: Jeu de dés |
10420: Liste des conquêtes | 10424: Calculatrice d’amour | 10432: Entrepôt |
10450: Bruit de la coupe du monde | 10452: Marcus | 10465: Homer Simpson |
10469: Porter ou ne pas porter | 10473: Grimper aux arbres | 10474: Le bonbonnier peut |
10487: Sombres sommes | 10494: Si nous étions un enfant | 10496: Collecter des bipers |
10499: Grands chiffres réels | 10515: Somme des puissances | 10523: Très facile !!! |
10530: Jeu de devinettes | 10533: Chiffres premiers | 10534: Suite Wavio |
10550: Verrou de combinaison | 10557: XYZZY | 10562: Dessiner les arbres |
10579: Nombres de Fibonacci | 10583: Religions omniprésentes | 10591: Nombres heureux |
10596: Profondeurs souterraines | 10600: Concours ACM et coupure de courant | 10603: La bibliothèque expérimentale |
10608: Amis | 10611: Le singe playboy | 10616: Soms divisibles de groupe |
10653: Bombes ! NON ils sont des mines !! | 10656: Somme maximale (II) | 10664: Bagages |
10673: Jouer avec le plafond et le sol | 10679: J’aime les chaînes !! | 10684: Le jackpot |
10696: f91 | 10699: Compter les facteurs | 10703: Places libres |
10719: Quantificateurs curieux | 10763: Change de devises étrangères | 10773: Retour aux mathématiques intermédiaires |
10783: Somme impaire | 10784: Diagonale | 10785: Limite de vitesse |
10789: Mots premiers | 10790: Combien d’intersections ? | 10810: Ultra-QuickSort |
10812: Battre l’écart ! | 10815: Premier dictionnaire d’Andy | 10878: Décoder la bande |
10879: Somme maximale (II) | 10905: Jeux pour enfants | 10911: Former des équipes de quiz |
10916: Factstone Benchmark | 10921: Trouver le téléphone | 10922: 2520 |
10924: Hashage simple d’esprit | 10929: Vous pouvez dire 11 | 10931: Parité |
10935: Jets de cartes loin I | 10940: Jets de cartes loin II | 10943: Comment additionner ? |
10945: Mère ours | 10948: Le problème principal | 10954: Ajouter tout |
10963: Le sol avale le sol | 10970: Grand chocolat | 10976: Fractions encore !? |
10986: Envoyer un email | 11000: Abeille | 11044: Recherche de Nessy |
11054: Commerce du vin à Gergovia | 11057: Somme exacte | 11059: Produit maximal |
11060: Boissons | 11085: Retour aux 8 reines | 11093: Just Finish it up |
11094: Continents | 11111: Matriochkas généralisés | 11134: Rois légendaires |
11137: Trois dames grasses | 11150: Cola | 11151: Plus grand palindrome |
11152: Fleurs colorées | 11172: Opérateur relationnel | 11185: Ternaire |
11192: Pas de problème ! | 11205: Le podomètre cassé | 11212: Édition de livre |
11214: Aladdin et le tapis volant | 11219: Quel âge avez-vous ? | 11231: Peinture noire et blanche |
11234: Expressions | 11235: Valeurs fréquentes | 11244: Compter les étoiles |
11286: Conformité | 11292: Dragon de Loowater | 11332: Somme des chiffres |
11340: Journal | 11349: Matrice symétrique | 11362: Liste de numéros de téléphone |
11364: Stationnement | 11369: Shopaholic | 11388: PGCD LCM |
11389: Problème du chauffeur de bus | 11417: PGCD | 11428: Cubes |
11450: Achats de mariage | 11455: Voici mon quadrilatère | 11461: Nombres carrés |
11462: Trie par âge | 11479: Est-ce le problème le plus facile ? | 11494: Reine |
11498: Division de Nlogonia | 11503: Amis virtuels | 11504: Domino |
11530: Taper SMS | 11541: Décodage | 11547: Réponse automatique |
11559: Planification d’événements | 11565: Équations simples | 11572: Flocons de neige uniques |
11577: Fréquence des lettres | 11586: Voies ferrées | 11608: Pas de problème ! |
11614: Guerriers étrusques ne jouent jamais aux échecs | 11624: Feu ! | 11631: Routes sombres |
11636: Bonjour le monde ! | 11650: Horloge miroir | 11661: Aéroport |
11677: Réveil | 11679: Hypothèque | 11689: Soda Surpler |
11713: Noms abstraits | 11715: Voiture | 11716: Forteresse numérique |
11723: Numérisation des routes | 11727: Réduction des coûts | 11729: Guerre de commando |
11734: Beaucoup d’équipes vont résoudre cela | 11743: Vérification de crédit | 11764: Mario sautant |
11777: Automatiser les notes | 11799: Horreur Dash | 11805: Bafana Bafana |
11809: Nombres décimaux flottants | 11827: PGCD maximum | 11831: Robot collecte d’autocollants |
11849: CD | 11854: Égypte | 11875: Jeu de briques |
11877: La boutique Coca-Cola | 11879: Multiple de 17 | 11900: Œufs durs |
11933: Diviser les nombres | 11934: Formule magique | 11936: Les bûcherons paresseux |
11942: Séquences de bûcherons | 11953: Bateaux de guerre | 11984: Changement d’unité thermique |
11988: Clavier cassé (a.k.a. Texte Beiju) | 11991: Problème facile de Rujia Liu ? | 11995: Je peux deviner la structure de données ! |
12015: Google is Feeling Lucky | 12032: Le singe et le bambou huilé | 12096: L’ordinateur SetStack |
12100: File d’attente d’impression | 12107: Un-Trois | 12108: Étudiants extrêmement fatigués |
12113: Somme des nombres premiers différents | 12149: Feynman | 12157: Plan tarifaire |
12174: Assembler | 12219: Recherche rapide | 12250: Détection de la langue |
12279: Équilibre d’Emoogle | 12289: Un-Trois | 12325: Changement exact |
12333: Où est la bille ? | 12372: Emballage pour les vacances | 12403: Sauver Setu |
12405: Épouvantail | 12412: Problème de mauvaise communication | 12455: Barres |
12468: Zapping | 12478: Le problème le plus difficile de tous (facile) | 12502: Trois familles |
12503: Instructions de robot | 12504: Mise à jour d’un dictionnaire | 12545: Morceaux et morceaux |
12554: Jeu d’enfant | 12558: Trouver un cycle | 12569: Solde |
12577: Hajj-e-Akbar | 12578: 10:6:2 | 12627: Correction d’erreurs |
12646: Décision majoritaire | 12657: Boîtes en ligne |