https://www.codinginterview.net/2023/06/number-of-connected-components-in.html