Menu
CoddyTech

Subset Sum Problem

Trung bìnhQuy hoạch độngpython iconjava iconcpp iconc iconjs icon+10

nums chứa các số nguyên dương, còn target là một số nguyên dương. Bạn có thể chọn một số giá trị, mỗi vị trí chỉ chọn tối đa một lần, sao cho tổng của chúng bằng chính xác target không? Trả về true nếu có thể, và false nếu không có cách chọn nào phù hợp.

Hàm

isSubsetSum(nums: integer-array, target: integer) → boolean
numsinteger-array
các giá trị dương bạn có thể chọn
targetinteger
tổng chính xác mà các giá trị được chọn phải đạt tới
Trả vềboolean
true khi một số giá trị cộng lại đúng bằng target, false nếu không

Ràng buộc

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

Ví dụ

Đầu vào
nums = [8, 3, 11, 5, 7]target = 15
Đầu ra
true
Giải thích
8 + 7 = 15, nên đáp án là true. Lựa chọn 3 + 5 + 7 cũng đúng; chỉ cần một lựa chọn là đủ.
challenge icon

Câu hỏi mở rộng

Hai giá trị bằng nhau ở các vị trí khác nhau được tính là hai lựa chọn riêng biệt. Có bao nhiêu lựa chọn đạt đến target?

Đặt lại code
def isSubsetSum(nums, target):
    # Viết code tại đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

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

Đầu ra mong đợi

true