Skip to content
Snippets Groups Projects
Commit f87cde1f authored by Brandon's avatar Brandon
Browse files

First commit.

parent 738b6428
No related branches found
No related tags found
No related merge requests found
...@@ -20,8 +20,11 @@ def scalar_fibonacci(n): ...@@ -20,8 +20,11 @@ def scalar_fibonacci(n):
>>> scalar_fibonacci(35) >>> scalar_fibonacci(35)
9227465 9227465
""" """
return 0 # stub if n == 0:
return 0
if n == 1:
return 1
return
def vector_fibonacci(n): def vector_fibonacci(n):
""" """
...@@ -41,32 +44,44 @@ def vector_fibonacci(n): ...@@ -41,32 +44,44 @@ def vector_fibonacci(n):
>>> vector_fibonacci(35) >>> vector_fibonacci(35)
(5702887, 9227465) (5702887, 9227465)
>>> vector_fibonacci(350) >>> vector_fibonacci(350)
(3865462327928467072415604609040860366007401579690263197296200323999931849, 6254449428820551641549772190170184190608177514674331726439961915653414425) (3865462327928467072415604609040860366007401579690263197296200323999931849L, 6254449428820551641549772190170184190608177514674331726439961915653414425L)
""" """
return 0, 1 # stub if n <= 0:
return (0,0)
if n == 1:
return (0,1)
if n == 2:
return (1,1)
x = vector_fibonacci(n-1)
return (x[1], x[0] + x[1])
def maximal_repetition_free_prefix(sequence): def maximal_repetition_free_prefix(sequence, x):
""" """
Given a sequence, return its longest repetition-free prefix. For example: Given a sequence, return its longest repetition-free prefix. For example:
>>> maximal_repetition_free_prefix([]) >>> maximal_repetition_free_prefix([], 0)
[] []
>>> maximal_repetition_free_prefix([5]) >>> maximal_repetition_free_prefix([5], 0)
[5] [5]
>>> maximal_repetition_free_prefix([5, 4]) >>> maximal_repetition_free_prefix([5, 4], 0)
[5, 4] [5, 4]
>>> maximal_repetition_free_prefix([5, 5]) >>> maximal_repetition_free_prefix([5, 5], 0)
[5] [5]
>>> maximal_repetition_free_prefix([5, 4, 5]) >>> maximal_repetition_free_prefix([5, 4, 5], 0)
[5, 4] [5, 4]
>>> maximal_repetition_free_prefix([5, 4, 5, 3]) >>> maximal_repetition_free_prefix([5, 4, 5, 3], 0)
[5, 4] [5, 4]
>>> maximal_repetition_free_prefix([3, 2, 1, 2, 4]) >>> maximal_repetition_free_prefix([3, 2, 1, 2, 4], 0)
[3, 2, 1] [3, 2, 1]
""" """
return [] # stub if len(sequence) < 2:
return sequence
elif sequence[x] in sequence[0:x + 1]:
return sequence[0: x - 2]
else:
return maximal_repetition_free_prefix(sequence, x+1)
def maximal_repetition_free_subsequence(sequence): def maximal_repetition_free_subsequence(sequence):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment