Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def find_long_sseq(seq):
- """Find the longest subsequence of seq which contains
- no more than two distinct elements"""
- if len(seq) < 3:
- return seq
- max_sub = seq[:2]
- max_len = 2
- curr_sub = seq[:2]
- if seq[0]==seq[1]:
- change_index = 0
- else:
- change_index = 1
- for index, item in enumerate(seq):
- if index < 2:
- continue
- if item in curr_sub:
- curr_sub.append(item)
- if item != seq[change_index]:
- change_index = index
- else:
- curr_sub = seq[change_index:index+1]
- change_index = index
- n = len(curr_sub)
- if n > max_len:
- max_sub = curr_sub
- max_len = n
- return max_sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement