Skip to content
Snippets Groups Projects
Commit b7e64856 authored by Brett Christian Middle's avatar Brett Christian Middle
Browse files

Half way through checkpoint 3

parent 738b6428
Branches master
No related tags found
No related merge requests found
......@@ -20,7 +20,11 @@ def scalar_fibonacci(n):
>>> scalar_fibonacci(35)
9227465
"""
return 0 # stub
if n <= 0:
return 0
if n == 1:
return 1
return scalar_fibonacci(n-1) + scalar_fibonacci(n-2)
def vector_fibonacci(n):
......@@ -41,9 +45,16 @@ def vector_fibonacci(n):
>>> vector_fibonacci(35)
(5702887, 9227465)
>>> vector_fibonacci(350)
(3865462327928467072415604609040860366007401579690263197296200323999931849, 6254449428820551641549772190170184190608177514674331726439961915653414425)
(3865462327928467072415604609040860366007401579690263197296200323999931849L, 6254449428820551641549772190170184190608177514674331726439961915653414425L)
"""
return 0, 1 # stub
return vector_rec(n, 0, 1)
def vector_rec(n, a, b):
if n > 1:
n -= 1
return vector_rec(n, b, a+b)
return a, b
def maximal_repetition_free_prefix(sequence):
......@@ -64,9 +75,12 @@ def maximal_repetition_free_prefix(sequence):
[5, 4]
>>> maximal_repetition_free_prefix([3, 2, 1, 2, 4])
[3, 2, 1]
"""
return [] # stub
if len(sequence) <= 1:
return sequence
if len(sequence) > len(set(sequence)):
return maximal_repetition_free_prefix(sequence[0:len(sequence)-1])
return sequence
def maximal_repetition_free_subsequence(sequence):
......@@ -88,7 +102,11 @@ def maximal_repetition_free_subsequence(sequence):
>>> maximal_repetition_free_subsequence([1, 2, 1, 2, 1, 2, 1])
[2, 1]
"""
return [] # stub
if len(sequence) <= 1:
return sequence
if len(sequence) > len(set(sequence)):
return maximal_repetition_free_subsequence(sequence[1:len(sequence)])
return sequence
def maximal_repetition_free_subsequence_version_2(sequence):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment