zoukankan      html  css  js  c++  java
  • 全排列和优化

    全排列:

    为了找123, 先固定左边的, 然后找23

    /**
     * @param {string} s1
     * @param {string} s2
     * @return {boolean}
     */

    var all = function(s2, meature, len) {
        let ret = [];
      
        if(s2.length===1) {
            ret.push(s2)
        } else {
            for(let i=0; i<s2.length;i++){
                var left = s2[i];
                var rest = s2.substring(0,i)+s2.substring(i+1, s2.length)
                let list = all(rest, meature, len)
                if(list===true) {
                    return true;
                } else {
                    list.forEach(element => {
                        var finl =  left+element
                        if(meature.indexOf(finl)>-1 && finl.length==len) {
                            console.log(9999, meature, finl, meature.indexOf(finl));
                            return true;
                        }
                        ret.push(finl);
                    });
                }
                
            }
        }
        if(ret===true) return true;
        return ret;
    }
    var number=(num)=>{
        let ret = new Array(num).fill(1).reduce((sum, i, index)=>{
            sum=sum*(index+1);
            return sum;
        },1)
        console.log(ret);
        return ret;
    }
    var checkInclusion = function(s1, s2) {
        if(s1.length>s2.length) return false
       
        ret = all(s1, s2, s1.length);
        console.log(ret.length);
        if(ret.length<number(s1.length)) {
            return true
        } else {
            return ret.some(i=>{
                return s2.indexOf(i)!==-1;
            })
        }
        
    };
    console.log(checkInclusion("trinitrophenylmethylnitramine",
    "dinitrophenylhydrazinetrinitrophenylmethylnitramine"));
  • 相关阅读:
    男子利用POS机帮人非法套现1576万余元被起诉
    套现花样很多 弄不好成了诈骗
    刀尖上的无本生意 信用卡套现投资盛行
    新三板是什么—新三板科普知识讲堂
    Android注入事件的三种方法比较
    当今最流行的Node.js应用开发框架简介
    安卓WindowManager注入事件如何跳出进程间安全限制
    伟大创意检验10要
    初创互联网公司简明创业指南
    根据Unix哲学来编写你的HTML5 Websocket服务器来实现全双工通信
  • 原文地址:https://www.cnblogs.com/connie313/p/13529353.html
Copyright © 2011-2022 走看看