Files
2026-03-26 17:03:42 +02:00

32 lines
1.6 KiB
Python

def find_sequence(numbers):
result = {}
for i in range(len(numbers)):
num = numbers[i]
result[num] = result.get(num, [num])
for key in result.keys():
if key < num:
result[num] = result[key] + [num] if len(result[num]) <= len(result[key]) + 1 else result[num]
longest = sorted(list(result.values()), key=len, reverse=True)
# print(longest)
# print()
return longest[0]
if __name__ == "__main__":
assert find_sequence([1, 2, 3]) == [1, 2, 3]
assert find_sequence([3, 2, 1]) == [3]
assert find_sequence([1, 1, 1, 1, 1]) == [1]
assert find_sequence([1, 8, 2, 7, 3, 6]) == [1, 2, 3, 6]
assert find_sequence([1, 1, 2, 2, 3, 3]) == [1, 2, 3]
assert find_sequence([4, 1, 5, 6, 3, 4, 3, 8]) == [1, 5, 6, 8]
assert find_sequence([9, 2, 9, 1]) == [2, 9]
assert find_sequence([8, 6, 1, 1, 9, 4, 7]) == [1, 4, 7]
assert find_sequence([10, 34, 43, 17, 33, 83, 73, 35, 92, 68, 33, 14, 13, 80]) == [10, 17, 33, 35, 68 ,80]
assert find_sequence([96, 80, 54, 81, 39, 42, 17, 13, 4, 10, 50, 26, 13, 95, 12, 8, 75, 38, 27, 68, 64, 36, 25, 89, 96]) != []
assert find_sequence([65, 4, 62, 22, 47, 99, 83, 11, 23, 22, 61, 49, 9, 60, 32, 53, 59, 81, 36, 68, 66, 69, 47, 23, 29, 95, 85, 31, 83, 82, 44, 31, 19, 22, 97, 91, 48, 69, 49]) != []
assert find_sequence([79, 26, 75, 65, 34, 29, 33, 73, 13, 10, 29, 43, 78, 8, 25, 9, 78, 28, 70, 58, 86, 87, 52, 7, 1, 81, 62, 44, 49, 15, 6, 14, 94, 37, 90, 61, 28, 39, 10, 72, 80, 95, 91, 65, 99, 60, 54, 68, 84, 76, 70, 54, 65, 54, 8, 37, 57, 87, 85, 32, 10, 44, 47, 5, 91, 17, 88]) != []