Given an array arr of length N and a number Kthe task is to find all the subsequences of the array whose sum of elements is K. Approach: The idea is to use the jagged array to store the subsequences of the array of different lengths. For every element in the array, there are mainly two choices for it that is either to include in the subsequence or not.
Apply this for every element in the array by reducing the sum, if the element is included otherwise search for the subsequence without including it. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.
See your article appearing on the GeeksforGeeks main page and help other Geeks. Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below. Writing code in comment? Please use ide. Output: Below are the subsequences whose sum is K 5 1 3 3.
Recommended Posts: Find all combinations of two equal sum subsequences Find the count of subsequences where each element is divisible by K Find two equal subsequences of maximum length with at least one different index Find a triplet such that sum of two equals to third element Find the number of pairs such that their gcd is equals to 1 Given a number as a string, find the number of contiguous subsequences which recursively add up to 9 Set 2 Given a number as a string, find the number of contiguous subsequences which recursively add up to 9 Powers of two and subsequences Sum of all subsequences of a number Number of Subsequences with Even and Odd Sum Set 2 Number of Subsequences with Even and Odd Sum Sum of all subsequences of an array Number of subsequences with zero sum Generating all possible Subsequences using Recursion Print all subsequences of a string.
Given a integer sequence a An increasing subsequence a i The input has several testcases. The first line contains the numbers n and k. The second line contains a sequence of length n.
The sequence will be given in a way that the subsequences count can't be bigger than a signed number of 64 bits. My solution uses a recursive idea.
Subscribe to RSS
After this, a function goes from de 0 index to de n position recursively. And a comparison is made to check if the current value picked is less than the next value. The solution got accepted by the judge, but it takes nearly 1 sec to give the answer. Other solutions take 0 seconds. This made me think that this solution isn't a good one. You have called this a "Longest Increasing Subsequence" problem, but it's not, is it?
It's counting all possible sequences of a specific length, not just the longest. As a result, I think you may have confused yourself in a few ways Your variable and method names are Variables should always be useful names, and, while N and K are referenced in the problem specification, S is not.
Additionally, upper-case names are not encouraged Your code compiles OK with a warning about the missing return in the main method with basic C compiler. This makes me think you intend to use C99 which compiles it without warnings. But, in C99, you should declare your variables where they are used, not at the beginning of the blocks.
For example, you should declare i inside the for-loop. Your concept of memoization is good, but I am not convinced the recursion is doing what you think it does. I am not convinced the memoization is used at all effectively. Frankly, I struggled to follow your algorithm, in part because memoization does not tell me much about what is being memoized I started hacking your code, and ended up restructuring it as a set of nested loops.
A large part of the complexity is in the determination of the paths, not the combinatorics required to compute the count. I am likely wrong here somewhere, but my performance of the resulting code is more than good enough to be in the right ballpark So, I use memoization as well, the system I use is, for each node, starting from the last, to record the number of increasing paths, and how long they are, to the end of the sequence.
The last node, for example, can be the last node in the sequence, and thus has a count of 1 in path-length 0 0 because I zero-base the path length - 0 really means "there is 1 path starting from this node where this node is the last member too". With that system, I can then work backwards through the sequence, and simply add up the paths that have the right length.
Note how, at each level we have to look ahead for increasing members, but, we only need to look in to the memoization for increasing members to accumulate path lengths.Input: The first line of input contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains a string s. Output: For each test case in a new line print the required output. If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum.
You will get quick replies from GFG Moderators there. Please choose 'ReadOnlyMode' if you needn't to 'Edit' the problem e. Please note that Custom Input s should be mentioned in the same order format as stated in the problem description. Cancel Send. Sign In Sign Up. Remember me Forgot Password. Why Create an Account? Please enter your email address or userHandle. Company Tags Amazon. Examples: Input : abbc Output : 3 Subsequences are abc, abc and abbc Input : abcabc Output : 7 Subsequences are abc, abc, abbc, aabc abcc, abc and abc Input: The first line of input contains an integer T denoting the no of test cases.
Login to solve this problem. Load Comments. Weekly Monthly Overall saiujwal vinup isiddhisingh rathiarpit29 devgoyal Leaderboard Overall. EditMode ReadOnlyMode. Close Run Code. Close See Output. Login to report an issue on this page. Note: Please use this button to report only Software related issues.
Count unique subsequences of length K
For queries regarding questions and quizzes, use the comment area below respective pages. Describe Your Issue. Send Close. Ibrahim Nash.We define a k-subsequence of an array as follows 1 it is a subsequence of consecutive elements in the array 2 the sum of the subsequence's elements s, is evenly devisible by k i.
Copy array,i,sequence,0,size ; result. CareerCup's interview videos give you a real-life look at technical interviews. In these unscripted videos, watch how other candidates handle tough questions and how the interviewer thinks about their performance.
Most engineers make critical mistakes on their resumes -- we can fix your resume with our custom resume review service. And, we use fellow engineers as our resume reviewers, so you can be sure that we "get" what you're saying. Our Mock Interviews will be conducted "in character" just like a real interview, and can focus on whatever topics you want. All our interviewers have worked for Microsoft, Google or Amazon, you know you'll get a true-to-life experience.
More Questions from This Interview. Comment hidden because of low score. Click to expand. Implementation in Java. Naman Dasot: Can you explain your logic, please? Add a Comment Add a Comment. Writing Code? Add Question. CareerCup is the world's biggest and best source for software engineering interview preparation. See all our resources.
Open Chat in New Window. What's Going On. Report a Bug or Issue. Books is a comprehensive book on getting a job at a top tech company, while focuses on dev interviews and does this for PMs.
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It only takes a minute to sign up. In short, a special subsequence is a subsequence that first consist of. Note: Two subsequences are considered different if the set of array indexes picked for the 2 subsequences are different. My Approach: My approach is to recursively go through each and every index of string and check whether the resultant substring meets the criteria or not.
But, as you can see this approach will grow exponentially with the length of string. Is there any better way to solve this problem? I might approach the problem in the following recursive way to count such substrings without actually listing them:. In general this eliminates the need for checking cases.
Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered. Asked 3 years, 1 month ago. Active 3 years, 1 month ago. Viewed 2k times. JerryGoyal JerryGoyal 1 1 silver badge 9 9 bronze badges. Active Oldest Votes.
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It only takes a minute to sign up. Sign up to join this community. The best answers are voted up and rise to the top. Home Questions Tags Users Unanswered.
Asked 2 years, 11 months ago. Active 2 years, 11 months ago. Viewed times. Bobson Dugnutt Active Oldest Votes. Sign up or log in Sign up using Google. Sign up using Facebook. Sign up using Email and Password. Post as a guest Name. Email Required, but never shown. The Overflow Blog. Q2 Community Roadmap. The Overflow How many jobs can be done at home? Featured on Meta. Community and Moderator guidelines for escalating issues via new response….
Feedback on Q2 Community Roadmap.
Find all subsequences with sum equals to K
Autofilters for Hot Network Questions. Related 1.
For such a problem there can be no ready combinatorics formula because the results depend on the order of the original array. The main idea is to deal recurrently by the length of the subsequence.How to: Work at Google — Example Coding/Engineering Interview
On each recurrent step, move from the end to the beginning and count the unique combinations using the count of shorter unique combinations from the previous step. More strictly on every step j we keep an array of length N and every element in the place p means how many unique subsequences with length j we found to the right of the element in place i, including i itself.
Below is the implementation of the above approach. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Writing code in comment? Please use ide. Minimum window size containing atleast P primes in every window of given range. Function which returns the numbe of. Prepare arrays for recursion. Iterate for all index from which unique. Remove the elements which have. Update the number used. Function to push the vector into an array. Function call to print the count.
This code is contributed by chitranayal. Check out this Author's contributed articles. Improved By : raghavsangarcse17chitranayal. Load Comments.