Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.
Tuyên bố sự cố - Chúng ta được cho một tập hợp các số nguyên không âm trong một mảng và một tổng giá trị, chúng ta cần xác định xem có tồn tại một tập hợp con của tập hợp đã cho có tổng bằng một tổng cho trước hay không.
Bây giờ chúng ta hãy quan sát giải pháp trong việc triển khai bên dưới -
# Cách tiếp cận ngây thơ
Ví dụ
def SubsetSum(set, n, sum) : # Base Cases if (sum == 0) : return True if (n == 0 and sum != 0) : return False # ignore if last element is > sum if (set[n - 1] > sum) : return SubsetSum(set, n - 1, sum); # else,we check the sum # (1) including the last element # (2) excluding the last element return SubsetSum(set, n-1, sum) or SubsetSum(set, n-1, sumset[n-1]) # main set = [2, 14, 6, 22, 4, 8] sum = 10 n = len(set) if (SubsetSum(set, n, sum) == True) : print("Found a subset with given sum") else : print("No subset with given sum")
Đầu ra
Found a subset with given sum
# phương pháp tiếp cận động
Ví dụ
# maximum number of activities that can be performed by a single person def Activities(s, f ): n = len(f) print ("The selected activities are:") # The first activity is always selected i = 0 print (i,end=" ") # For rest of the activities for j in range(n): # if start time is greater than or equal to that of previous activity if s[j] >= f[i]: print (j,end=" ") i = j # main s = [1, 2, 0, 3, 2, 4] f = [2, 5, 4, 6, 8, 8] Activities(s, f)
Đầu ra
Found a subset with given sum
Kết luận
Trong bài viết này, chúng ta đã tìm hiểu về cách chúng ta có thể tạo một Chương trình Python cho Bài toán Tổng tập hợp con