Каким должен быть мыслительный процесс по поводу решения этого вопроса.
Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), find all unique combinations in candidates where the candidate numbers sums to target. The same repeated number may be chosen from candidates unlimited number of times. Note: All numbers (including target) will be positive integers. The solution set must not contain duplicate combinations. Example 1: Input: candidates = [2,3,6,7], target = 7, A solution set is: [ [7], [2,2,3] ] Example 2: Input: candidates = [2,3,5], target = 8, A solution set is: [ [2,2,2,2], [2,3,3], [3,5] ]
Учитывая эти проблемы, мне нужна помощь по:
1) Каким должен быть мой подход к решению подобных вопросов.
2) в каком направлении я должен думать или на каком основании я должен начать думать для решения этих вопросов.
Заранее спасибо.
PS:мне не нужно решение, но я не могу придумать никакой отправной точки.
Что я уже пробовал:
я пробовал линейный способ мышления, но этого недостаточно.
Richard MacCutchan
Я бы предложил взять каждое число по очереди и использовать его и любые другие значения, чтобы увидеть, складываются ли они в цель. Учитывая, что вы можете использовать одни и те же числа более одного раза, это потенциально длительный процесс. Один дополнительный шаг, который вы можете попробовать, - это разделить цель на текущее число, чтобы увидеть, сколько раз она может поместиться. Тогда это дало бы еще одно целевое значение для поиска. Например, деление 8 на 2 дает немедленный ответ в приведенном выше примере.