2 Sum Sum использует Hashmap, чтобы проверить, существует ли цель-nums в Hashmap. < /li>
3 Sum Sorts Matrs, а затем использует 2 указателя. понял, что первым вопросом был вариация n суммы.
Как можно было решить обобщенную n сумме. /> Вам дано: < /p>
Массив целых чисел [] arr [] длина n. < /p>
Целевая цель. /> < /blockquote>
Редактировать 1: < /strong> После поиска вверх я обнаружил, что есть проблема с леткодом - комбинированная сумма. Он просит вернуть все комбинации, которые составляют сумму. Но в этом вопросе < /p>
Ввод: кандидаты = [2,3,5], target = 8
output: [[2,2,2,2], [2,3,3], [3,5]] < /p>
< /blockquote>
в проблеме I, каждая из которых может использовать больше всего, и для того, чтобы их можно было использовать, и для того, чтобы их можно было использовать, можно использовать для большинства, и для того, чтобы их можно было использовать. Комбинации ровно k чисел.
Редактировать 2: Я попытался восстановить код, который я написал после давления со стороны сверстников.
Код: Выделить всё
public class NSumSolver {
public List kSum(int[] arr, int target, int k) {
List result = new ArrayList();
List current = new ArrayList();
helper(arr, 0, target, k, current, result);
return result;
}
private void helper(int[] arr, int index, int target, int k,
List current, List result) {
if (current.size() == k) {
if (target == 0) {
result.add(new ArrayList(current)); // possible match
}
return;
}
if (index >= arr.length) return;
current.add(arr[index]);
helper(arr, index + 1, target - arr[index], k, current, result);
current.remove(current.size() - 1);
helper(arr, index + 1, target, k, current, result);
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... nput-in-ja