标签:
Given a collection of distinct numbers, return all possible permutations.
For example,[1,2,3]
have the following permutations:
[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ]
# @param {Integer[]} nums # @return {Integer[][]} def permute(nums) return [[]] if nums.empty? a = Array.new(nums).map{|x| [x]} while a[0].length < nums.length b = Array.new() a.each do |x| (nums-x).each {|y| b << x + [y]} end a = b end a end
标签:
原文地址:http://www.cnblogs.com/lilixu/p/5911368.html