Skip to content

Commit 8031e71

Browse files
committed
2020-08-15
1 parent 70df944 commit 8031e71

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class Solution(object):
2+
def numWaterBottles(self, numBottles, numExchange):
3+
"""
4+
:type numBottles: int
5+
:type numExchange: int
6+
:rtype: int
7+
"""
8+
empty = res = numBottles
9+
while empty >= numExchange:
10+
res += empty / numExchange
11+
empty = empty / numExchange + empty % numExchange
12+
return res
13+
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution(object):
2+
def countSubTrees(self, n, edges, labels):
3+
"""
4+
:type n: int
5+
:type edges: List[List[int]]
6+
:type labels: str
7+
:rtype: List[int]
8+
"""
9+
from collections import defaultdict
10+
par2child = defaultdict(set)
11+
for s, d in edges:
12+
par2child[d].add(s)
13+
par2child[s].add(d)
14+
15+
self.res = [0 for _ in labels]
16+
def dfs(node, visited):
17+
dic = defaultdict(int)
18+
for child in par2child[node]:
19+
if child not in visited:
20+
visited.add(child)
21+
child_dic = dfs(child, visited)
22+
for key, val in child_dic.items():
23+
dic[key] = dic[key] + val
24+
# print(node, dic)
25+
self.res[node] = 1 + dic[labels[node]]
26+
dic[labels[node]] += 1
27+
return dic
28+
dfs(0, set([0]))
29+
return self.res
30+

0 commit comments

Comments
 (0)