Add coding exercises for Facebook interviews
Add attempts at solving coding problems to Briefcase.
This commit is contained in:
parent
d2d772e43e
commit
aa66d9b83d
66 changed files with 2994 additions and 0 deletions
32
scratch/facebook/word-cloud.py
Normal file
32
scratch/facebook/word-cloud.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
def normalize(x):
|
||||
noise = ".,;-"
|
||||
for y in noise:
|
||||
if x.endswith(y):
|
||||
return normalize(x[0:-1])
|
||||
if x.startswith(y):
|
||||
return normalize(x[1:])
|
||||
return x.lower()
|
||||
|
||||
def word_cloud(xs):
|
||||
result = dict()
|
||||
|
||||
for x in xs.split(' '):
|
||||
k = normalize(x)
|
||||
if k in result:
|
||||
result[k] += 1
|
||||
else:
|
||||
result[k] = 1
|
||||
|
||||
return result
|
||||
|
||||
result = word_cloud("This is just the beginning. The UK will lockdown again.")
|
||||
assert result.get('this') == 1
|
||||
assert result.get('is') == 1
|
||||
assert result.get('just') == 1
|
||||
assert result.get('the') == 2
|
||||
assert result.get('beginning') == 1
|
||||
assert result.get('uk') == 1
|
||||
assert result.get('will') == 1
|
||||
assert result.get('lockdown') == 1
|
||||
assert result.get('again') == 1
|
||||
print("Success!")
|
||||
Loading…
Add table
Add a link
Reference in a new issue