ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

leetcode 1719. Number Of Ways To Reconstruct A Tree

leetcode 1719. Number Of Ways To Reconstruct A Tree Problem: 1719. 重构一棵树的方案数不会做挺难的问了豆包的主要就是找邻接节点的子集找到父子集包含当前的子集不包含则0若存在父子集和当前子集长度相同则2而且根节点的子集长度一定是节点数-1Codeclass Solution { public: int checkWays(vectorvectorint pairs) { unordered_mapint, unordered_setint ump, kkk; int n pairs.size(); for(int i 0; i n; i) { ump[pairs[i][0]].insert(pairs[i][1]); ump[pairs[i][1]].insert(pairs[i][0]); } vectorint keys; int root -1, mx -1; for(auto kl : ump) { keys.push_back(kl.first); if( (int)kl.second.size() (int)ump.size() - 1) { // mx kl.second.size(); root kl.first; // break; } } if(root-1) return 0; int two 1; int len keys.size(), kl; for(int ke : keys) { if(ke root) continue; int par -1; int parSize 9999999; for(const int i : ump[ke]) { if(ump[i].size() ump[ke].size() ump[i].size() parSize) { par i; parSize ump[i].size(); } } if(par 0) return 0; bool issubset true; for(const int i : ump[ke]) { if(i!par ump[par].find(i) ump[par].end()) { issubset false; break; } } if(!issubset) return 0; if(ump[par].size() ump[ke].size()) { two 2; } } return two; } };
返回列表