Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function permAlone(str) {
- return permDupes(str.length,dupes(str));
- }
- function dupes(str)
- {
- var count = 0;
- for( var i = 0; i < str.length; i++)
- {
- for( var j = i+1; j < str.length; j++ )
- {
- if(str[i] === str[j])
- {
- count++;
- str = str.substr(0,j)+str.substr(j+1,str.length);
- j--;
- }
- }
- }
- return count;
- }
- function permDupes(n, dupes)
- {
- // Same letter case
- if(dupes + 1 === n)
- return 0;
- // No more Duplicates
- if(dupes <= 0)
- return 0;
- return factoral(n) - 2 * factoral(n-1) - 2 * permDupes(n-1,dupes-1);
- }
- function factoral(num){
- if(num <= 1)
- return 1;
- return num * factoral(num-1);
- }
- permAlone('aaaaaaaaaa');
Add Comment
Please, Sign In to add comment