容器
在这道题中输入类似[[1, 2], [3, 4]] ,这意味着花园1连通了花园2,花园3连通了花园4。那么该怎么根据这个输入,获取一个方便后面算法的表示呢?我们通常管这种存放邻居的数据格式叫做:邻接表
通常我的思路是使用下列容器作为邻接表:
- 哈希表,key就是花园i,value是与花园 i 接壤的其他所有花园。
- 二维数组,第 i 个数组中的元素是与花园 i 接壤的其他所有花园。
算法
假如题目给的是一颗二叉树,要求相邻节点颜色不同,那我们可以用回溯解决。但使用哈希表或者二维数组作为容器,该怎么解决这题?