This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Write a java function such that given an array of ints, is it possible to choose a group of some of the ints, such that the group sums to the given target with these additional constraints: all multiples of 5 in the array must be included in the group. If the value immediately following a multiple of 5 is 1, it must not be chosen.
1. At line 8 and 12 you return true if the target has been matched, yet this doesn't allow for numbers later in the list being multiples of 5. You need to get the sum of all your multiples of 5 before you even begin looking at the other numbers.
2. Line 13 will only skip the value 5, not all multiples of 5.
Fix those and then if you still have problems, see Fred's post
All the test cases are still failing.could you help me out to fix this piece of code.>
Joined: Aug 05, 2005
You still haven't done anything about the first problem I mentioned. You need a separate loop that sums all the values that are multiples of 5. If this sum is greater than the target value you can then immediately return false without checking the other numbers. If not you then use it as a base value when checking the other numbers.
What are you doing on line 7 ? You only increase the value of start if its current value is a multiple of 5.