Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
This comment is hidden because it contains spoiler information about the solution
No it's not. You are working with recursion on a global variable. This goes against the basic idea of functional and recursive programming. The idea is to work with values and not with global objects and create side effects.
A couple of things.
'Harder to read' is a very subjective category. I can't stand reading loops, because they don't tell me what the problem was. There is only the solution. With higher level methods there is a problem description there. If you throw in decent variable names, this is not more complicated to read (aka understand) than 'traditional' loops.
I very much like the class and the way to calculate the weight. Kudos!
This comment is hidden because it contains spoiler information about the solution
Only in computer science there is no debate about 0 being positive. If you consider a number n to be positive if and only if n > 0, then it makes perfect sense. You do not check for the 0 then. The array [0] then contains a negative element for each positive element.
It should be "How did you find out...?" I did not found your secret...
I do have the same problem. Timeout after 10 seconds. Next thing I do: Generate a long list for 7 and 3, hardcode them in the solution and let's see what happens then.
The method "private static List reverse(List elements)" is not side effect free. The parameter elements will be changed. If you would change the name to "reverseInPlace" and not return anything that could avoid trouble (in bigger projects/code basis). Then again you could just use Collections.reverse()...
Other than that, it is a nice solution.