下你所需,载你所想!
汇集开发技术源码资料

移除最多的同行或同列石头.cpp

:1.433KB :1 :2022-09-30 15:26:44

部分简介

移除最多的同行或同列石头.cpp如果开发者对于本文件有需要的可以参考。算法题,移除最多的同行或同列石头
】int removeStones(vector>& stones) {
int m = stones.size();
if (m == 1)
return 1;
Djset ds(20005);
for (int i = 0; i < m; i )
{
//将节点x,y 加入集合的时候,y又多加了10000,是为了防止 例如 (0, 1) (1, 0)
//这两个节点连在了一个集合,因为我们只要横向和纵向连成一个集合
ds.unite(stones[i][0], stones[i][1] 10000);
}
unordered_map um;
for (int i = 0; i < m; i )
{
um[ds.find(stones[i][0])] = true;
um[ds.find(stones[i][1] 10000)] = true;
}

热门推荐

相关文章