Skip to content

Files

Latest commit

62b8b36 · Dec 13, 2022

History

History

823-BinaryTreesWithFactors

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Dec 13, 2022
Dec 13, 2022

Binary Trees With Factors

Problem can be found in here!

Solution: Dynamic Programming

def numFactoredBinaryTrees(arr: List[int]) -> int:
    arr.sort()
    dp = [1] * len(arr)
    index = {number: i for i, number in enumerate(arr)}

    for i, number in enumerate(arr):
        for j in range(i):
            if number % arr[j] == 0:
                right = number / arr[j]
                if right in index:
                    dp[i] += dp[j] * dp[index[right]]

    return sum(dp) % (pow(10, 9) + 7)

Time Complexity: O(n^2), Space Complexity: O(n)