Skip to content

Commit 387894c

Browse files
committed
adding 3 aws algos
1 parent 047dce9 commit 387894c

2 files changed

Lines changed: 40 additions & 0 deletions

File tree

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
from typing import List
2+
3+
class TreeNode:
4+
def __init__(self, x):
5+
self.val = x
6+
self.left = None
7+
self.right = None
8+
9+
class Solution:
10+
def lowestCommonAncestor(self, root: TreeNode, nodes: List[TreeNode]) -> 'TreeNode':
11+
node_set = set(nodes)
12+
13+
def dfs(node: TreeNode):
14+
if not node or node in node_set:
15+
return node
16+
17+
left = dfs(node.left)
18+
right = dfs(node.right)
19+
20+
if left and right:
21+
return node
22+
23+
return left if left else right
24+
25+
return dfs(root)
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
class Solution:
2+
def partitionString(self, s: str) -> int:
3+
4+
last_pos = [0] * 26
5+
partitions = 0
6+
last_end = 0
7+
8+
for i in range(len(s)):
9+
if last_pos[ord(s[i]) - ord('a')] >= last_end:
10+
partitions += 1
11+
last_end = i + 1
12+
13+
last_pos[ord(s[i]) - ord('a')] = i + 1
14+
15+
return partitions

0 commit comments

Comments
 (0)