Suppose that you are playing a card game whose goal is to collect exactly k cards with a total  value of t. Write a solution that can determine if it is possible for a given collection of cards  whose values are given in the array values. For example, if the array contained the values  <10,5,7,2>, k = 3, and t = 12, you would return false because no three values add to 12.  However, if t = 14, you would return true, since 5 + 7 + 2 = 14. So I considered this to be a form of groupSum recursion, so I try to implement it in recursion form. However, since the passing parameters are not the incrementing level index but 'k' that is the limit number of the numbers we can choose from the array, I cannot use passing index through recursion to search from the start of the array toward the end of the values.length(the length of the array

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

Suppose that you are playing a card game whose goal is to collect exactly k cards with a total 
value of t. Write a solution that can determine if it is possible for a given collection of cards 
whose values are given in the array values. For example, if the array contained the values 
<10,5,7,2>, k = 3, and t = 12, you would return false because no three values add to 12. 
However, if t = 14, you would return true, since 5 + 7 + 2 = 14.

So I considered this to be a form of groupSum recursion, so I try to implement it in recursion form. However, since the passing parameters are not the incrementing level index but 'k' that is the limit number of the numbers we can choose from the array, I cannot use passing index through recursion to search from the start of the array toward the end of the values.length(the length of the array). would there be any method I can use to increment and search along the array using k, the number of numbers we can add into the total(t) instead of the increment of the index from the start?

 

kind of code I am trying to make in Java:

    public static boolean isWinnable(int[] values, int k, int t) {
        if (k == 0) {
            return t == 0;
        }
        if (isWinnable(values, k - 1?, t)) { #recursion that is going to apply current index value
            return true;
        }
        if (isWinnable(values, k - 1?, t - values[?])) { #recursion that is not going to apply current index value
            return true;
        }
        return false;
    }
}

Expert Solution
steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY