I just need the method they are asking for Write a recursive function that takes a start index, array of integers, and a target sum. Your goal is to find whether a subset of the array of integers adds up to the target sum. The start index is initially 0. A target sum of 0 is true for any array. Examples: subsetSum(0, {2, 4, 8}, 10) -> true public boolean subsetSum(int start, int[] nums, int target) { }
I just need the method they are asking for Write a recursive function that takes a start index, array of integers, and a target sum. Your goal is to find whether a subset of the array of integers adds up to the target sum. The start index is initially 0. A target sum of 0 is true for any array. Examples: subsetSum(0, {2, 4, 8}, 10) -> true public boolean subsetSum(int start, int[] nums, int target) { }
C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter15: Recursion
Section: Chapter Questions
Problem 8SA
Related questions
Question
I just need the method they are asking for
Write a recursive function that takes a start index, array of integers, and a target sum. Your goal is to find whether a subset of the array of integers adds up to the target sum. The start index is initially 0.
A target sum of 0 is true for any array.
Examples: subsetSum(0, {2, 4, 8}, 10) -> true
public boolean subsetSum(int start, int[] nums, int target) {
}
Expert Solution
Step 1 : Code (Explained with comment)
public class Main {
public boolean subsetSum(int start, int[] nums, int target) {
if (target == 0) { // base case
return true;
}
if (start >= nums.length) { // base case
return false;
}
// recursive case
return subsetSum(start + 1, nums, target - nums[start]) // include nums[start]
|| subsetSum(start + 1, nums, target); // exclude nums[start]
}
public static void main(String[] args) {
Main m = new Main();
int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
System.out.println(m.subsetSum(0, nums, 10));
System.out.println(m.subsetSum(0, nums, 11));
System.out.println(m.subsetSum(0, nums, 12));
System.out.println(m.subsetSum(0, nums, 56));
}
}
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 2 images
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Similar questions
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning