Prova final — Grafos
Três problemas inéditos (não vistos nas aulas) para testar se você sai desta seção resolvendo qualquer problema do tema: um fácil, um médio e um difícil. Alguns casos de teste são ocultos — como no LeetCode de verdade. Resolva em Python ou JavaScript.
Find if Path Exists in Graph
Há n nós (0 a n-1) e arestas não-dirigidas em edges. Retorne true se existe um caminho entre source e destination.
Exemplo: n=3, edges=[[0,1],[1,2],[2,0]], source=0, destination=2 → true.
Number of Provinces
Dada uma matriz isConnected n × n onde isConnected[i][j] = 1 indica que as cidades i e j são diretamente ligadas, retorne o número de províncias (grupos de cidades conectadas, direta ou indiretamente).
Exemplo: [[1,1,0],[1,1,0],[0,0,1]] → 2.
Word Ladder
Dadas beginWord, endWord e uma lista wordList, transforme beginWord em endWord mudando uma letra por vez, com cada palavra intermediária presente em wordList. Retorne o número de palavras na sequência mais curta (incluindo as duas pontas), ou 0 se impossível.
Exemplo: "hit" → "cog", lista ["hot","dot","dog","lot","log","cog"] → 5 (hit→hot→dot→dog→cog).