binary-trees-with-factors

binary-trees-with-factors


给出一个含有不重复整数元素的数组 arr ,每个整数 arr[i] 均大于 1。



用这些整数来构建二叉树,每个整数可以使用任意次数。其中:每个非叶结点的值应等于它的两个子结点的值的乘积。



满足条件的二叉树一共有多少个?答案可能很大,返回109 + 7 取余 的结果。



 



示例 1:



输入: arr = [2, 4]
输出: 3
解释: 可以得到这些二叉树: [2], [4], [4, 2, 2]


示例 2:



输入: arr = [2, 4, 5, 10]
输出: 7
解释: 可以得到这些二叉树: [2], [4], [5], [10], [4, 2, 2], [10, 2, 5], [10, 5, 2].


 



提示:




  • 1 <= arr.length <= 1000

  • 2 <= arr[i] <= 109

  • arr 中的所有值 互不相同


Report Page