码迷,mamicode.com
首页 > 其他好文 > 详细

Leetcode 46 Permutations

时间:2016-09-27 06:59:20      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

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

 

Leetcode 46 Permutations

标签:

原文地址:http://www.cnblogs.com/lilixu/p/5911368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!