Поиск кратчайших комбинаций в массиве/последовательности, равной сумме

Я совершенно застрял и понятия не имею, как решить эту проблему. Допустим, у меня есть массив

arr = [1, 4, 5, 10]

и число

n = 8

. Мне нужна кратчайшая последовательность из arr, равная n. Так, например, следующие последовательности в arr равны n

c1 = 5,1,1,1
c2 = 4,4
c3= 1,1,1,1,1,1,1,1

Таким образом, в приведенном выше случае наш ответ будет c2, потому что это кратчайшие последовательности в arr, равные сумме.

Я не уверен, какой самый простой способ найти решение вышеизложенного? Любые идеи или помощь будут действительно оценены.

Спасибо!

Отредактировано:

  • Исправлен массив
  • Массив, возможно, будет иметь только положительные значения.
  • Я не уверен, как проблема подмножества решает эту проблему, вероятно, из-за моего собственного невежества. Всегда ли алгоритм подмножества дает кратчайшую последовательность, равную сумме? Например, будет ли проблема с подмножеством идентифицировать c2 как ответ в приведенном выше сценарии?
6
задан Óscar López 1 April 2012 в 17:28
поделиться