в других вариантах было намного больше этажей- ваше решение никуда не годится.
значит, с рекурсией лучше не рисковать и развернуть ее в цикл.Там 2 ветки, удачи ее разворачивать.
1 << n
- это сдвиг числа 1 на n битов влево. Фактически получается возведение 2 в степень n, да.Только почему там числа 32-битные со знаком?
|
- арифметический оператор. Соответственно, там применяются сложные правила преобразования типов. И результат получается int. dp[i] = min(dp[i], dp[i-coin_value])
. Но тогда цикл по монеткам должен быть внешним.