Skip to content

Commit 09d01ea

Browse files
committed
Additional work
1 parent 19c8d8d commit 09d01ea

File tree

6 files changed

+116
-4
lines changed

6 files changed

+116
-4
lines changed

README.md

+9-4
Large diffs are not rendered by default.

my-submissions/m1239.py

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
class Solution:
2+
def maxLength(self, arr: List[str]) -> int:
3+
arrTuples = []
4+
5+
for s in arr :
6+
stringSet = set(s)
7+
if len(s) == len(stringSet) :
8+
arrTuples.append(stringSet)
9+
10+
11+
self.maxx = 0
12+
def helper(current: set(), toTry: List[Set[str]]) -> None :
13+
self.maxx = max(self.maxx, len(current))
14+
if not toTry :
15+
return
16+
17+
nextToTry = toTry.pop()
18+
helper(current, toTry)
19+
temp = nextToTry | current
20+
if len(current) + len(nextToTry) == len(temp) :
21+
helper(temp, toTry)
22+
toTry.append(nextToTry)
23+
24+
helper(set(), arrTuples)
25+
return self.maxx

my-submissions/m1676.py

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, x):
4+
# self.val = x
5+
# self.left = None
6+
# self.right = None
7+
8+
class Solution:
9+
def lowestCommonAncestor(self, root: 'TreeNode', nodes: 'List[TreeNode]') -> 'TreeNode':
10+
if not nodes :
11+
return None
12+
if len(nodes) == 1 :
13+
return nodes[0]
14+
15+
self.commonAncestors = set()
16+
targetNodes = set(x.val for x in nodes)
17+
self.found = len(nodes)
18+
19+
def dfs(curr: 'TreeNode', currentSet: 'Set[TreeNode]', depth: int) -> None :
20+
if not curr or not self.found :
21+
return
22+
currentSet.add((depth, curr))
23+
24+
if curr.val in targetNodes :
25+
self.found -= 1
26+
if not self.commonAncestors :
27+
for x in currentSet :
28+
self.commonAncestors = currentSet.copy()
29+
self.commonAncestors &= currentSet
30+
31+
# even if something's below us, none of
32+
# the inbetween nodes will matter
33+
currentSet.remove((depth, curr))
34+
return
35+
36+
dfs(curr.left, currentSet, depth + 1)
37+
dfs(curr.right, currentSet, depth + 1)
38+
currentSet.remove((depth, curr))
39+
40+
dfs(root, set(), 0)
41+
42+
depth, node = self.commonAncestors.pop()
43+
while self.commonAncestors :
44+
tempDepth, tempNode = self.commonAncestors.pop()
45+
if tempDepth > depth :
46+
depth, node = tempDepth, tempNode
47+
48+
return node

my-submissions/m2365.py

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
class Solution:
2+
def taskSchedulerII(self, tasks: List[int], space: int) -> int:
3+
day = 0
4+
lastOccurance = {}
5+
6+
for i in range(len(tasks)) :
7+
if tasks[i] in lastOccurance and day - lastOccurance[tasks[i]] < space :
8+
day = lastOccurance[tasks[i]] + space
9+
day += 1
10+
lastOccurance[tasks[i]] = day
11+
12+
return day

my-submissions/m849.py

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
class Solution:
2+
def maxDistToClosest(self, seats: List[int]) -> int:
3+
maxx = 0
4+
indx = 0
5+
6+
while not seats[indx] :
7+
indx += 1
8+
lastPerson = indx
9+
maxx = lastPerson
10+
11+
for i, seat in enumerate(seats) :
12+
if seat :
13+
if maxx < (i - lastPerson) // 2 :
14+
maxx = (i - lastPerson) // 2
15+
lastPerson = i
16+
17+
maxx = max(maxx, len(seats) - lastPerson - 1)
18+
19+
return maxx

my-submissions/m973.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class Solution:
2+
def kClosest(self, points: List[List[int]], k: int) -> List[List[int]]:
3+
return sorted(points, key=lambda x: sqrt(x[0]**2 + x[1]**2))[:k]

0 commit comments

Comments
 (0)