由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - fb面经的一题
相关主题
透露两个G的onsite题一道面试题
关于reorder list 的总结问一个题目
删除node从list, 这个有内存泄露么,怎么释放内存,对于那个被删除的节点?判断BT是否BST?
请大家 看看这个 Merge k Sorted Lists (Java), 我不太明白算法题:如何判断二叉树是AVL?
java 链表里面dummy node 一问?谢谢Time complexity
弱问:leetcode里Convert Sorted List to Binary Search Tree写了个symmetric tree的stack based iterative实现,有个bug
binary tree的 serialization判断是不是binary search tree-leetcode
问一道google的面试题hasPathSum
相关话题的讨论汇总
话题: nodemap话题: itr话题: 节点话题: listnode话题: 数组
进入JobHunting版参与讨论
1 (共1页)
a*********0
发帖数: 2727
1
给一个含有节点的数组,每个节点指向数组其他节点,或者数组外的节点,判断这个数
组中的节点所构成的树是tree
我的想法是用个map记录,-1表示没在数组中出现过。出现了就转为1。大致code
有没有更好的方法?
bool isTree(vector& a)
{
size_t n=a.size();
unordered_map nodeMap;
for(size_t i=0;i if(nodeMap[a[i]]==-1) {
nodeMap[a[i]]=1;
} else {
nodeMap[a[i]]=0;
}
if(nodeMap[a[i]->next]==0) {
nodeMap[a[i]->next]=1;
}
}

ListNode* root=NULL;
for(auto itr=nodeMap.begin(); itr!=nodeMap.end(); itr++) {
if(itr->second==0) {
root=itr->first;
} else if(itr->second<0){
return false;
}
}
return dfs(root);
}
// use dfs to decide if it's a tree
bool dfs(root){

}
n******n
发帖数: 12088
2
判断构成的树是tree?

【在 a*********0 的大作中提到】
: 给一个含有节点的数组,每个节点指向数组其他节点,或者数组外的节点,判断这个数
: 组中的节点所构成的树是tree
: 我的想法是用个map记录,-1表示没在数组中出现过。出现了就转为1。大致code
: 有没有更好的方法?
: bool isTree(vector& a)
: {
: size_t n=a.size();
: unordered_map nodeMap;
: for(size_t i=0;i: if(nodeMap[a[i]]==-1) {

a*********0
发帖数: 2727
3
如果指向数组外点就return false

【在 n******n 的大作中提到】
: 判断构成的树是tree?
P******r
发帖数: 1342
4
什么叫 构成的树是tree?
x*****n
发帖数: 195
5
不构成环且不构成森林吧,用bfs就可以了。
a*********0
发帖数: 2727
6
不一定, 比如这样的A->B
(B->C)
->C

【在 x*****n 的大作中提到】
: 不构成环且不构成森林吧,用bfs就可以了。
x*****n
发帖数: 195
7
没问题啊,这个不构成树。典型的生成树算法dfs和bfs都可以做的。

【在 a*********0 的大作中提到】
: 不一定, 比如这样的A->B
: (B->C)
: ->C

1 (共1页)
进入JobHunting版参与讨论
相关主题
hasPathSumjava 链表里面dummy node 一问?谢谢
G家电面弱问:leetcode里Convert Sorted List to Binary Search Tree
Google Intern 面试 【请教】binary tree的 serialization
贴一道老算法题问一道google的面试题
透露两个G的onsite题一道面试题
关于reorder list 的总结问一个题目
删除node从list, 这个有内存泄露么,怎么释放内存,对于那个被删除的节点?判断BT是否BST?
请大家 看看这个 Merge k Sorted Lists (Java), 我不太明白算法题:如何判断二叉树是AVL?
相关话题的讨论汇总
话题: nodemap话题: itr话题: 节点话题: listnode话题: 数组