Menu
CoddyTech

Subset Sum Problem

nums содержит положительные целые числа, а target — положительное целое число. Можешь выбрать некоторые значения, используя каждую позицию не более одного раза, так, чтобы их сумма точно равнялась target? Возвращай true, если это возможно, и false, если подходящего набора нет.

Функция

isSubsetSum(nums: integer-array, target: integer) → boolean
numsinteger-array
положительные значения, которые вы можете выбрать
targetinteger
точная сумма, которой должны достичь выбранные значения
Возвращаетboolean
true, если сумма некоторых значений в точности равна target, иначе false

Ограничения

  • 1 ≤ nums.length ≤ 200
  • 1 ≤ nums[i] ≤ 104
  • 1 ≤ target ≤ 104

Примеры

Ввод
nums = [8, 3, 11, 5, 7]target = 15
Вывод
true
Пояснение
8 + 7 = 15, поэтому ответ — true. Вариант 3 + 5 + 7 тоже подходит; достаточно одного варианта.
challenge icon

Дополнительный вопрос

Два одинаковых значения на разных позициях считаются разными вариантами выбора. Сколько вариантов выбора в сумме дают target?

Сбросить код
def isSubsetSum(nums, target):
    # Напишите код здесь

Тест #1

Тест #2

Тест #3

Аргументы

nums = [8, 3, 11, 5, 7]
target = 15

Ожидаемый вывод

true