4 ms·
Here is my version. Took me less than 5 minutes and worked the first time: def pascal(num) return [1] if num == 1 res = [] prev = [0] + pascal(nu
by nileshtrivedi 15y ago
Here is my version. Took me less than 5 minutes and worked the first time:
def pascal(num)
return [1] if num == 1
res = []
prev = [0] + pascal(num-1) + [0]
(1..num).to_a.each { |i| res << (prev[i-1] + prev[i]) }
return res
end
- mbernstein 15y agoRecursion in this case - generally in ruby as well - is not a great idea. Also, you have quite high memory requirements: O(n^2) O(n) is quite easy in this problem.