Solve "cafe order checker" (again)
Perhaps my fifth iteration of solving this problem.
This commit is contained in:
parent
6ccdb06717
commit
c00eed469c
1 changed files with 34 additions and 0 deletions
34
scratch/facebook/interview-cake/cafe-order-checker.py
Normal file
34
scratch/facebook/interview-cake/cafe-order-checker.py
Normal file
|
@ -0,0 +1,34 @@
|
|||
def valid(take_out, dine_in, served):
|
||||
# edge case
|
||||
if len(take_out) + len(dine_in) != len(served):
|
||||
return False
|
||||
i = 0
|
||||
j = 0
|
||||
k = 0
|
||||
while i < len(take_out) and j < len(dine_in):
|
||||
if take_out[i] == served[k]:
|
||||
i += 1
|
||||
elif dine_in[j] == served[k]:
|
||||
j += 1
|
||||
else:
|
||||
return False
|
||||
k += 1
|
||||
# take out
|
||||
while i < len(take_out):
|
||||
if take_out[i] != served[k]:
|
||||
return False
|
||||
i += 1
|
||||
# dine in
|
||||
while j < len(dine_in):
|
||||
if dine_in[j] != served[k]:
|
||||
return False
|
||||
j += 1
|
||||
return True
|
||||
|
||||
take_out = [17, 8, 24]
|
||||
dine_in = [12, 19, 2]
|
||||
served = [17, 8, 12, 19, 24, 2]
|
||||
result = valid(take_out, dine_in, served)
|
||||
print(result)
|
||||
assert result
|
||||
print("Success!")
|
Loading…
Reference in a new issue