题1
给定一棵n个点的有根树,第i个点的父节点是fa[i],每个点权值为A[i].
称点i和点j是兄弟 (i != j),当且仅当fa[i]=fa[j].
求出一个点集,这个点集里至多只有一对兄弟,使得权值和最大。
n <= 1000000, -100000 <= A[i] <= 1000000
题2
如果一棵二叉树满足下述几个条件,则可以称为奇偶树:
二叉树根节点所在层深度为0,根的子节点所在层深度为1,根的孙节点所在层深度为2,依此类推。 偶数深度层上的所有节点的值都是奇整数,从左到右按顺序严格递增 奇数深度层上的所有节点的值都是偶整数,从左到右按顺序严格递减 给定二叉树的每个节点的左右儿子节点以及权值,返回二叉树是否为奇偶树。
要求O(n)。
Sample Input value = [5, 3, 3, 4, 2, 7]
child = [[3, 4], [-1, -1], [-1, -1], [1, 2], [-1, 5], [-1, -1]]
value不一定按照层序遍历的格式给出,但是保证0号结点一定为根节点。
题3
数组A,B 从A B中各找到一个数 他们的最大公约数最大 求这个最大公约数
A = [3, 4, 12] B = [2, 6]
–> 6
题4
给一组点,找到三个点组成三角形,里面不包含其他点,要求时间复杂度O(n*n)
|