Чтобы расширить принятый ответ, число подпоследовательностей можно представить в математических терминах.Давайте рассмотрим пример строки: «ABC».
Количество подпоследовательностей строки 'ABC':
=> C(3, 0) + C(3, 1) + C(3, 2) + C(3, 3) = 1 + 3 + 3 + 1 = 8 (2^3).
(Примечание: C (m, n) обозначает количество подпоследовательностей размера 'n' из строкиsize 'm')
Это легко проверить, перечислив все из них:
C(3, 0) = '', // Taking 0 letters at a time out of the given string.
C(3, 1) = 'A', 'B', 'C', // Taking 1 letter at a time.
C(3, 2) = 'AB', 'AC', 'BC', // Taking 2 letters at a time.
C(3, 3) = 'ABC'. // Taking 3 letters at a time.
(Total count = 8)
Мы сохраняем последовательность букв для подпоследовательности, следовательно, Комбинация вместо Перестановка .
Примечание: сумма биномиальных коэффициентов с использованием теоремы о биномах = 2 ^ n.Доказательство ниже:
From Binomial theorem,
(x + y)^n = C(n, 0) x^n y^0 + .... + C(n, n) x^0 y^n
Using x = 1, y = 1,
(1+1)^n = C(n, 0) 1^n 1^0 + .... + C(n, n) 1^0 1^n
=> 2^n = C(n,0) + C(n,1) + .... + C(n,n)
Отсюда и 2, из биномиальной теоремы.