首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

自个儿实现了一个Ruby的组合算法,写到一半,发现Ruby的Array类支持

2012-12-29 
自己实现了一个Ruby的组合算法,写到一半,发现Ruby的Array类支持。class Arraydef make_arrayarr []self.e

自己实现了一个Ruby的组合算法,写到一半,发现Ruby的Array类支持。




class Array
def make_array
arr = []
self.each{|i| arr.insert -1, [i]}
arr
end

def make_array2(e)
self.each{|i| i.insert -1, e}
end
end

def combine(array, size)
return [ array ] if array.size == size
return array.make_array if size == 1
last = array[-1]
left = array - [ last ]
a = combine(left, size - 1).make_array2(last)
b = combine(left, size)
return a + b
end

p combine(%w{ a b c d e}, 4)
p combine(%w{ a b c d e}, 3)
p combine(%w{ a b c d e}, 2)
p combine(%w{ a b c d e}, 1)




不过还是希望高手提提意见,关于效率,关于风格什么的。任何建议都OK。
我自己给我的建议是,多看文档,少走弯路~。
[解决办法]
过来看看,向八神学习,呵呵!
[解决办法]
不懂ruby的飘过

热点排行