a, b, c 의 모든 네 자릿수 정렬 이 가능 합 니 다.예 를 들 어 abca, abcb, abcc, acba (면접 문제)

친구 가 면접 을 볼 때 면접 문 제 를 재 미 있 게 풀 어 보 세 요.
우선 우리 가 문 제 를 내 는 것 은 abc 로 네 개의 수 를 배열 한 다음 에 두 개의 수 만 중복 되 고 몇 가지 배열 이 있 습 니까?abca, abcb, abcc, acba
이러한 네 자릿수 를 형성 하려 면 abc 에 a 또는 b 또는 c 를 삽입 할 수 있 습 니 다.aabc, abac, abca 에 도달 합 니 다.생각 이 떠 올 랐 으 니 어떻게 실현 되 는 지 살 펴 보 자.
우 리 는 먼저 abc 가 중복 되 지 않 는 상황 에서 몇 가지, abc, acb, bac, bca, cab, cba 를 조합 할 수 있다 는 것 을 알 아야 한다.6 가지 모드.
그 다음 에 원래 의 데이터 abc 를 옮 겨 다 니 며 a 또는 b 또는 c 를 차례대로 얻 고 이미 몇 가지 혼합 배열 방식 인 중국 에 삽입 합 니 다. 우 리 는 4 자리 수 를 형성 해 야 하기 때문에 우 리 는 4 번 을 옮 겨 다 니 며 삽입 하 는 위 치 는 0, 1, 2, 3 입 니 다.
그러나 abc 때문에 0 의 위치 에 a 를 삽입 하고 1 의 위치 에 a 를 삽입 합 니 다. 모두 aabc 입 니 다. 모든 것 이 중복 되 고 new Set () 로 왔 다 갔다 합 니 다.최종 출력 결과.방법 이 생 겼 습 니 다. 코드 가 어떻게 실현 되 는 지 살 펴 보 겠 습 니 다.
//    
let array=[]; //    
let str='abc'; //   
let len=4;  //     
let b=str.split(''); //        
let cross=conversion(permutate(str)).length; //              

재 귀적 처리 문자열 을 사용 하 는 데 몇 가지 교차 방식 이 있 습 니까?
/**
 * 
 * 
 * @param {any} str  //'abc'
 * @returns 
 */
function permutate(str){
    var result=[];
    if(str.length==1){
        return [str]
    }else{
        var preResult=permutate(str.slice(1)); 
        for(var j=0;j

데이터 변환
function conversion(len){
    let result=[];
    for(var i=0;i
for(var e=0;e
console.log(new Set(array));  //         
Set {
  'a,a,b,c',
  'a,b,a,c',
  'a,b,c,a',
  'b,a,b,c',
  'a,b,b,c',
  'a,b,c,b',
  'c,a,b,c',
  'a,c,b,c',
  'a,b,c,c',
  'b,a,a,c',
  'b,a,c,a',
  'b,b,a,c',
  'b,a,c,b',
  'c,b,a,c',
  'b,c,a,c',
  'b,a,c,c',
  'b,c,a,a',
  'b,b,c,a',
  'b,c,b,a',
  'b,c,a,b',
  'c,b,c,a',
  'b,c,c,a',
  'a,a,c,b',
  'a,c,a,b',
  'a,c,b,a',
  'a,c,b,b',
  'c,a,c,b',
  'a,c,c,b',
  'c,a,a,b',
  'c,a,b,a',
  'c,b,a,b',
  'c,a,b,b',
  'c,c,a,b',
  'c,b,a,a',
  'c,b,b,a',
  'c,c,b,a' }
console.log(new Set(array).size); //        36

주요 한 것 은 데이터 에 데 이 터 를 삽입 하고 이 를 중심 으로 확장 하 는 것 이다.그리고 여러분 이 잘못 을 지적 해 주시 기 바 랍 니 다. 마지막 으로 여러분 이 좋아 하 시 기 를 바 랍 니 다. qq 군 439667347 에 가입 할 수 있 습 니 다. 여러분 이 함께 토론 하고 함께 발전 하 며 후속 업데이트 중...

좋은 웹페이지 즐겨찾기