3 ms·
Pasties are a good idea, but results pages are more interesting. Here's my sad effort after 8 mins in python: http://codility.com/demo/results/?id=demoXFXD64-GC
by moconnor 17y ago
Pasties are a good idea, but results pages are more interesting. Here's my sad effort after 8 mins in python: http://codility.com/demo/results/?id=demoXFXD64-GCZ http://codility.com/demo/results/?id=demoXFXD64-GCZ
The site's very slick. My only feedback is the histogram on the results page could be more prominent - it's cool, useful information but I ended up inspecting the html elements to work out what it was.
Also the results page seemed to keep refreshing for me while waiting for results (Safari 3). Surely that should've been AJAX'd?
- lincolnq 17y agoregarding your python code: do you know about 'enumerate'? It returns an iterable of (index, value) pairs of a sequence. :)
- almost 17y agoenumerate is very useful, here's mine: def equi ( A ): right = sum(A) left = 0 for i,x in enumerate(A): right -= x if right == left: return i left += x return -1 What's interesting is that all the versions I've seen so far are pretty much identical apart from very minor things. This would seem to me to be obviously the correct way to do it but I'm interested if it's just a way. Did anyone solve this in a different way of equal or greater elegance?
- anc2020 17y agoMine kept one cumulative list adding left to right and another summing right to left. This is conventionally slower, but conceivably faster if you do it in parallel, leaving the final loop to be something like: for i in xrange(len(A)): if right[i] == left[i]: return i The final loop here is slightly tighter, so as long as your parallelism didn't add big overheads, this will be faster. Original: http://pastebin.com/m6e742f56 http://pastebin.com/m6e742f56 Parallelised: http://pastebin.com/m32a60b1 http://pastebin.com/m32a60b1
- moconnor 17y ago+1! Thanks for the reminder. I'm fairly new to python and couldn't remember the keyword. I guess this is a reasonable argument for the time deadline - to get it done quickly I didn't look it up, instead doing the simplest thing I knew would work and thus exposing the pitiful state of my python experience :-)