Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
18
Task/Permutations/CoffeeScript/permutations-1.coffee
Normal file
18
Task/Permutations/CoffeeScript/permutations-1.coffee
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Returns a copy of an array with the element at a specific position
|
||||
# removed from it.
|
||||
arrayExcept = (arr, idx) ->
|
||||
res = arr[0..]
|
||||
res.splice idx, 1
|
||||
res
|
||||
|
||||
# The actual function which returns the permutations of an array-like
|
||||
# object (or a proper array).
|
||||
permute = (arr) ->
|
||||
arr = Array::slice.call arr, 0
|
||||
return [[]] if arr.length == 0
|
||||
|
||||
permutations = (for value,idx in arr
|
||||
[value].concat perm for perm in permute arrayExcept arr, idx)
|
||||
|
||||
# Flatten the array before returning it.
|
||||
[].concat permutations...
|
||||
7
Task/Permutations/CoffeeScript/permutations-2.coffee
Normal file
7
Task/Permutations/CoffeeScript/permutations-2.coffee
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
coffee> console.log (permute "123").join "\n"
|
||||
1,2,3
|
||||
1,3,2
|
||||
2,1,3
|
||||
2,3,1
|
||||
3,1,2
|
||||
3,2,1
|
||||
Loading…
Add table
Add a link
Reference in a new issue