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.
Big O Notation on a 6kyu kata ? :(
because this is O(n²). You need an O(n) algo.
This comment is hidden because it contains spoiler information about the solution
Thanks. I didn't pick that up from the introduction text. Perhaps it should be more promenant, and maybe a unit test for performance. I've refactored my answer successfully.
Tag added.
Sorry for the Spoiler tag its my first time here hehe
Ok i will try changing that thanks!
Yes, mark your post as having spoiler content next time.
About your code, it seems
unshift
is expensive in computing time, try doing it in another way.This comment is hidden because it contains spoiler information about the solution
Add
performance
tag to the kata. Maybe clarify what "Some lists can be long." means ;)yes, you need something more efficient (inputs are huge, in the full test suite)
This comment is hidden because it contains spoiler information about the solution
@chrono79 - thanks for all the feedback very appreciative
When I told you about overwritting the var you use in the loop, I meant the
i
var, normally you change its value in the last expression, see it here. While what you've done somehow works, it's not the normal way of doing it, and it seems confusing, you could use a better suited loop for that likewhile
(note that it'll be still a nested loop and it won't work in this kata either).About mutating the input, yes, I was talking about
arr
, note that your code could be only a function amongst another functions and you're destroying the array, in functional programming that's very bad, and here in CW you'll find some katas where doing that changes the value of the expected results.About performance, well, I'm not so well versed about it to refer you to some source, try googling
Big O notation
.@James171, that code doesn't work, and why overwrite the var you use in the loop? Mutating the input is also a bad practice, and if you fix those 2 things, your code also suffer of poor performance with long inputs, so you too, take a look at the tests cases, try to figure out a way for creating the output with a single loop (you have nested loops there because reduce is a loop-alike method). I can't tell you more without spoiling it, good luck.
P.S.: this can help you check what your code does step by step.
@maurobono your code is highly inefficient. Try another approach, see the example tests and try to figure out a pattern, linear solutions can be achieved here.
Loading more items...