Skip to content

Commit b1a892f

Browse files
committed
Add variations with repetions
1 parent d33ee89 commit b1a892f

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
var variationsWithRepetion = (function () {
2+
'use strict';
3+
4+
var res;
5+
6+
function variations(arr, k, index, current) {
7+
if (k === index) {
8+
return res.push(current.slice());
9+
}
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+
return function (arr, k) {
17+
res = [];
18+
variations(arr, k, 0, []);
19+
var temp = res;
20+
res = undefined;
21+
return temp;
22+
};
23+
}());
24+

0 commit comments

Comments
 (0)