aboutsummaryrefslogtreecommitdiff
path: root/other/binary_tree_factors.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/binary_tree_factors.cpp')
-rw-r--r--other/binary_tree_factors.cpp31
1 files changed, 0 insertions, 31 deletions
diff --git a/other/binary_tree_factors.cpp b/other/binary_tree_factors.cpp
deleted file mode 100644
index fef1b69..0000000
--- a/other/binary_tree_factors.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "leetcode.h"
-
-class Solution {
-public:
- int numFactoredBinaryTrees(vector<int> &arr) {
- sort(arr.begin(), arr.end());
- int n = arr.size();
- long ans = 0;
- unordered_map<int, long> um;
- for (int num : arr) {
- long ways = 1;
- double lim = sqrt(num);
- for (int i = 0, fA = arr[0]; fA <= lim; fA = arr[++i]) {
- if (num % fA != 0)
- continue;
- int fB = num / fA;
- if (um.find(fB) != um.end())
- ways += um[fA] * um[fB] * (fA == fB ? 1 : 2);
- }
- um[num] = ways;
- ans = (ans + ways) % 1000000007;
- }
- return ans;
- }
-};
-
-int main() {
- Solution obj;
- vector<int> arr = {2, 4};
- cout << obj.numFactoredBinaryTrees(arr);
-}