No repeats please

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了No repeats please相关的知识,希望对你有一定的参考价值。

 

把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符为准

例如, aab 应该返回 2 因为它总共有6中排列 (aab, aab, aba, aba, baa, baa), 但是只有两个 (aba and aba)没有连续重复的字符 (在本例中是 a).

 

 

function permAlone(str) {
var arr = str.split("");
var a = [];
function swap(item1, item2) {
var temp = arr[item2];
arr[item2] = arr[item1];
arr[item1] = temp;
}

function huishuo(arr, k, length) {
var i;
if (k === length) {
a.push(arr.join(""));
} else {
for (i = k; i < length; i++) {

//if(k!==i&&arr[k]===arr[i]){

//return;

//}
swap(k, i);
huishuo(arr, k + 1, length);
swap(k, i);
}
}
}
huishuo(arr, 0, arr.length);
var b=a.filter(function(e){
return !/([a-zA-Z])\1/.test(e);
});
return b.length;
}
permAlone("aabb");

 

 

其实个人感觉这题有点问题  应该加入一个查重的步骤,就是我注释掉的那部分,如果两个字符相同就不继续进行了

以上是关于No repeats please的主要内容,如果未能解决你的问题,请参考以下文章

No repeats please(freecodecamp高级算法6)

No Smoking, Please Gym - 101518H

java出现以下警告:WARN No appenders;WARN Please initialize the log4j的处理方法

ng-repeat 中的 select2 不起作用。看片段

No such application config! Please add dubbo:application

[Grid Layout] Use auto-fill and auto-fit if the number of repeated grid tracks is not to be def(代码片段