给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

/**

 * @param {string} s

 * @return {number}

 */

// 暴力解决 分割出所有字符串 然后判断子串中是否有重复的   当字符串太长时  超时  暂未找到优解

var lengthOfLongestSubstring = function(s) {

    if( s.length <= 1 ){

        return s.length;

    }

    // 将字符串分割成字串 最小长度位2 最大长度位  s.length-1  

    for( let i = s.length ; i > 0 ; i-- ){                                                                           

        for( let j = 0; j < s.length-i+1 ; j++ ){

            let n = text( s.substring( j , j+i  ));

            if( n != 0 ){

                return n;

            }

        }

    }

   

    return  0;

};

function text(substr){

    let subStrLenArr = substr.length;

    let iArr = substr.split('');

    for( let j = 0 ; j < substr.length-1 ;j++){

        for( let n = j+1; n < substr.length ;n++ ){

            if( iArr[j] == iArr[n] && j !== n ){

                j = substr.length-1;

                n = substr.length-1;

                subStrLenArr = 0;

            }

        }

    }

    return subStrLenArr;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值