zoukankan      html  css  js  c++  java
  • 字符串的排列

    今天突然看到一个字符串排列的算法,考虑自己写一下实在是太难了;

    例子:abc

    abc acb bca bac cab cba

    var permutation = function(s) {
    const result = []
    if(s){
    queue = s.split('')
    permutationCore(queue,result)
    }
    // result.sort()
    // return [...new Set(result)]
    return result
    };
    function permutationCore(queue,result,temp="",current=""){
    current += temp
    if(queue.length === 0){
    result.push(current)
    return
    }
    for(let i=0;i<queue.length;i++){
    temp = queue.shift()
    permutationCore(queue,result,temp,current)
    queue.push(temp)
    console.log(queue)
    }
    }

    console.log(permutation('abc'))
    由于不太好理解。 主要思想是
    abc      acb
    bac      bca
    cab      cba
    其实是利用回朔。 
      
  • 相关阅读:
    qq
    qqq
    q
    .json文件
    q
    q
    q
    找jar包的网址
    1qq
    day18(JDBC事务&连接池介绍&DBUtils工具介绍&BaseServlet作用)
  • 原文地址:https://www.cnblogs.com/MDGE/p/14762162.html
Copyright © 2011-2022 走看看