Даны N целых чисел, задача - расставить между ними знаки + и - для получения числа S с сохранением исходной последовательности чисел в выражении, или доказательства невозможности получения такого S. Например, если числа - [7, 3, 9] и S = 13, то ответ, удовлетворяющий задаче = 7-3+9=13
Как можно реализовать такой алгоритм?
- Если единственное решение - тупой перебор, то как сделать премутацию для получения всех возможных вариантов расстановки знаков?
- Если есть более эффективное решение (умный перебор, или что то вкуснее), то как его реализовать?
- Как выглядел бы алгоритм без сохранения исходной последовательности чисел?