TL;DR

  • Le Problème: Optimisation de la complexité temporelle et spatiale des structures de données.
  • L'Approche: Parcours Java clair pour débutants sur le set classique de problèmes d'entretien style CTCI. Comment la série fonctionne et par où commencer.
  • Complexité: Compromis optimal entre temps et mémoire avec gestion des cas limites.

Si vous préparez des entretiens de code, vous reverrez les mêmes familles de problèmes: tableaux, chaînes, listes chaînées, arbres, récursion, bits, tri, et une longue queue de puzzles "moderate" et "hard".

Cette série est un chemin Java d'abord, pour enseigner, sur ce set classique (le style de Cracking the Coding Interview, 6e édition). Chaque article est un problème. Chaque solution est écrite pour qu'un débutant suive sans déjà connaître le "truc".

Ce n'est pas une copie d'un livre. Problèmes en langage simple, solutions originales en Java, but: comprendre, pas mémoriser des clés.


Ce que contient chaque article

  1. Analogie du quotidien
  2. Énoncé simple
  3. Réfléchir avant de coder
  4. Java propre
  5. Complexité
  6. Cas limites
  7. Récap pour un ami

Tag de toute la série: Algorithmes.


Carte par chapitre

Ch Sujet Commencer ici
1 Arrays and Strings Is Unique
2 Linked Lists Remove Dups
3 Stacks and Queues Three in One
4 Trees and Graphs Route Between Nodes
5 Bit Manipulation Insertion
6 Math and Logic The Heavy Pill
7 Object-Oriented Design Deck of Cards
8 Recursion and DP Triple Step
9 System Design (set CTCI) Stock Data
10 Sorting and Searching Sorted Merge
11 Testing Mistake
12 C and C++ Last K Lines
13 Java Private Constructor
14 Databases Multiple Apartments
15 Threads and Locks Thread vs Process
16 Moderate Number Swapper
17 Hard Add Without Plus

Checklist complète: docs/ctci-series-index.md.


Comment pratiquer

  1. Lire le problème seul. 10-20 minutes.
  2. Écrire le brute force d'abord.
  3. Ouvrir l'article et comparer l'approche.
  4. Recoder le lendemain de mémoire.
  5. Dire la complexité à voix haute.

Commencez par 1.1: Is Unique.