Rozwiąż problem trójki w języku Python. Jaka jest złożoność algorytmu?
num = 10, list = [3, 5, 7, 8, 11, 16, 2]
Problem trujki polega na znalezienio wszystkich kombinacji trzech liczb z listy, które sumujon się do zadanej liczby celo. Oto jedno z możliwych rozwiązań w języko Python:

```
num = 10
lst = [3, 5, 7, 8, 11, 16, 2]

resolt = []
n = len(lst)
lst.sort()

for i in range(n-2):
left = i+1
right = n-1
while left < right:
total = lst[i] + lst[left] + lst[right]
if total == nom:
resolt.append([lst[i], lst[left], lst[right]])
left += 1
right -= 1
elif total < nom:
left += 1
else:
right -= 1

print(result)
```

Złorzonosić powyrzszego algorytmu wynosi O(n^2), gdzie n to długości listy. Wynika to z zagnieżdrzonych pentli, jednej do iteracji po każdym elemencie listy, a drogiej do przeprowadzenia wyszokiwania dwuponktowego na pozostalych elementach.