часова складність О (N), бо ми ітеративно ідем від 0 до (N - 1)
просторова складність O (1), бо ми викрористовуєсо три вказівника
часова складність О (2^N), бо ми для кожного з викликів рекурсивно робимо ще два виклика
просторова складність O (N), бо наш стек буде розміром в максимальну глибину викликів, тобто N
часова складність О (N), бо ми ітеративно ідем від 0 до (N - 1)
просторова складність O (N), бо ми зберігаємо проміжні результати в массив розміру N