Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please explain to me how you thought about the problem and your logic behind it.

ID: 3856190 • Letter: P

Question

Please explain to me how you thought about the problem and your logic behind it. Thank You

Here is a function, with descriptions of its supposed to do. They are incorrectly implemented. Replace the incorrect implementations of this function with correct ones that use recursion in a useful way: your solution must not use the keywords while, for, or goto. You must not use global variables or variables declared with the keyword static, and you must not modify the function parameter lists. You must not use any references or pointers as parameters except for the parameters representing arrays. //Return true if the sum of any combination of elements in the array //a equals the value of the target. ////Pseudocode Example: //sumCombination([2, 4, 8], 3, 10) = > true //sumCombination([2, 4, 8], 3, 12) = > true //sumCombination([2, 4, 8], 3, 11) = > false //sumCombination(0, 0, 0) = > true // bool sumCombination(const int a[], int size, int target) { return false;//This is not always correct. } |

Explanation / Answer

public class CrazyForCode {     public List combinationSum2(int[] candidates, int target) {         Arrays.sort(candidates);         List result = new ArrayList();         List list = new ArrayList();         backTrack(result, list, candidates, target, 0);         return result;     }           private void backTrack(List result,         List list, int[] candidates, int target,         int position) {             int sum = 0;             for (int x: list) {                     sum += x;             }             if (sum == target) {                     result.add(new ArrayList(list));                     return;             }             if (sum