|
1 | | -var variationsWithRepetion = (function () { |
| 1 | +(function (exports) { |
2 | 2 | 'use strict'; |
3 | 3 |
|
4 | | - var res; |
| 4 | + var variationsWithRepetion = (function () { |
| 5 | + var res; |
5 | 6 |
|
6 | | - function variations(arr, k, index, current) { |
7 | | - if (k === index) { |
8 | | - return res.push(current.slice()); |
| 7 | + function variations(arr, k, index, current) { |
| 8 | + if (k === index) { |
| 9 | + return res.push(current.slice()); |
| 10 | + } |
| 11 | + for (var i = 0; i < arr.length; i += 1) { |
| 12 | + current[index] = arr[i]; |
| 13 | + variations(arr, k, index + 1, current); |
| 14 | + } |
9 | 15 | } |
10 | | - for (var i = 0; i < arr.length; i += 1) { |
11 | | - current[index] = arr[i]; |
12 | | - variations(arr, k, index + 1, current); |
13 | | - } |
14 | | - } |
15 | 16 |
|
16 | | - return function (arr, k) { |
17 | | - res = []; |
18 | | - variations(arr, k, 0, []); |
19 | | - var temp = res; |
20 | | - res = undefined; |
21 | | - return temp; |
22 | | - }; |
23 | | -}()); |
| 17 | + return function (arr, k) { |
| 18 | + res = []; |
| 19 | + variations(arr, k, 0, []); |
| 20 | + var temp = res; |
| 21 | + res = undefined; |
| 22 | + return temp; |
| 23 | + }; |
| 24 | + }()); |
| 25 | + |
| 26 | + exports.variationsWithRepetion = variationsWithRepetion; |
24 | 27 |
|
| 28 | +}(typeof exports === 'undefined' ? window : exports)); |
0 commit comments