Aller au contenu principal

2 articles tagués avec « programmation »

Voir tous les tags

LeetCode 1 : Number of Islands

Quentin Fortier
Professeur d'informatique
Indice

Le problème revient à calculer les composantes connexes du graphe dont les sommets sont les cases de la grille et où chaque case a 4 arêtes possibles avec les cases voisines.
Pour calculer le nombre de composantes connexes, on peut utiliser un parcours en profondeur (ou en largeur). On peut directement utiliser grid comme tableau des vus (en mettant une case à '0' après l'avoir visitée).

// Parcours en profondeur depuis la case (i, j)
void dfs(char** grid, int n, int p, int i, int j) {
...
}

int numIslands(char** grid, int gridSize, int* gridColSize) {
int n = gridSize, p = gridColSize[0]; // n lignes, p colonnes
int k = 0; // nombre de composantes connexes
for(int i = 0; i < n; i++)
for(int j = 0; j < p; j++)
...
return k;
}

Codespace GitHub

Quentin Fortier
Professeur d'informatique

Pour pouvoir utiliser un environnement de développement en ligne avec Visual Code, OCaml, utop, gcc :

  • S'incrire sur GitHub (Sign Up).
  • Aller sur https://github.com/mpi-lamartin/environnement et cliquer sur le bouton Code puis "Create codespace on main".
  • Vous pouvez retrouver votre codespace en cliquant sur le menu en haut à gauche puis "Codespaces".
  • Les fichiers sont normalement sauvegardés en ligne... Vous pouvez quand même télécharger (dans "fichier") des fichiers importants pour être sûr de ne pas les perdre.
  • Par défaut vous avez le droit à 120h/mois d'utilisation, ce qui devrait être suffisant. Vous pouvez demander un compte étudiant pour avoir 180h/mois : https://github.com/education/students.

Vidéo explicative