js-FCC 알고리즘-No repeats please 문자열 의 전체 배열(상세 설명)
1631 단어 no repeats please문자열전체 배열
예 를 들 어 aab 는 총 6 개의 배열(aab,aab,aba,aba,baa,baa)이 있 지만 두 개의(aba and aba)만 연속 으로 중복 되 는 문자 가 없습니다(이 예 에서 a).
인터넷 자료 에서 약간의 사고방식 을 얻 었 다.나의 코드 는
function permAlone(str) {
var arr=str.split("");
var perarr=[];
var begin=0;
// , , return 0
var reg = /(.)\1+/g;
if(str.match(reg)!==null&&str.match(reg)[0]===str){
return 0;
}
//
function swap(idx1,idx2){
var temp=arr[idx1];
arr[idx1]=arr[idx2];
arr[idx2]=temp;
}
// begin ,
function permall(arr,begin){
if(begin==arr.length-1){
perarr[perarr.length]=arr.join("");
return;
}
for(var i=0;(i+begin)<arr.length;i++){
swap(begin,begin+i);
permall(arr,begin+1);
swap(begin,begin+i);
}
}
permall(arr,begin);
//
return perarr.filter(function(val) {
return !val.match(reg);
}).length;
}
permAlone('aab');
우선 첫 번 째 문자 와 그 뒤의 문 자 를 일일이 교환 합 니 다.이 어 첫 번 째 문 자 를 고정 시 키 고 뒤의 모든 문자 의 배열 을 구 합 니 다.이때 우 리 는 뒤의 모든 문 자 를 두 부분 으로 나 누 었 다.뒤의 문자 의 첫 번 째 문자 와 이 문자 뒤의 모든 문자 이다.그리고 첫 번 째 문 자 를 그 뒤의 문자 와 하나씩 교환 합 니 다.
무 거 운 것 을 없 애 는 모든 배열 은 첫 번 째 숫자 부터 그 뒤에 반복 되 지 않 는 숫자 와 각각 교환 하 는 것 이다.
이상 의 js-FCC 알고리즘-No repeats please 문자열 의 전체 배열(상세 설명)은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 하 실 수 있 고 많은 응원 부 탁 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift 연습 Swift3에서 문자열을 정수로 변환하는 방법Swift3에서 문자열을 정수로 변환하는 방법 Swift3.swift Swift3.log 그럼 실패하지 않는 방법 Swift3.swift Swift3.log Swift1.x에서는, ""12345""라고 하는 정수를 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.