summaryrefslogtreecommitdiff
path: root/2020
diff options
context:
space:
mode:
authormo khan <mo.khan@gmail.com>2020-09-29 12:19:06 -0600
committermo khan <mo.khan@gmail.com>2020-09-29 12:19:06 -0600
commitd2787596f4063871dcb0b132541fb150cf08304d (patch)
treeaf5fe580a7d7f2e0965044cc1f76d401b2adb432 /2020
parentaa4e36309539242fc2bd10f63cce48ec3fb128b2 (diff)
add problem of the day
Diffstat (limited to '2020')
-rw-r--r--2020/09/29/README.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/2020/09/29/README.md b/2020/09/29/README.md
new file mode 100644
index 0000000..354bc3c
--- /dev/null
+++ b/2020/09/29/README.md
@@ -0,0 +1,35 @@
+You are given the root of a binary tree. Find and return the largest
+subtree of that tree, which is a valid binary search tree.
+
+Here's a starting point:
+
+```python
+class TreeNode:
+ def __init__(self, key):
+ self.left = None
+ self.right = None
+ self.key = key
+ def __str__(self):
+ # preorder traversal
+ answer = str(self.key)
+ if self.left:
+ answer += str(self.left)
+ if self.right:
+ answer += str(self.right)
+ return answer
+def largest_bst_subtree(root):
+# Fill this in.
+# 5
+# / \
+# 6 7
+# / / \
+# 2 4 9
+node = TreeNode(5)
+node.left = TreeNode(6)
+node.right = TreeNode(7)
+node.left.left = TreeNode(2)
+node.right.left = TreeNode(4)
+node.right.right = TreeNode(9)
+print largest_bst_subtree(node)
+#749
+```