zoukankan      html  css  js  c++  java
  • 003 Longest Substring Without Repeating Characters it

    看到这题,本来想用字符串做来着,不过一时之间忘了字符串中的indexOf函数了,倒是想起了字符串转数组的函数split(尴尬),于是就转为数组了。
    后来看了题解后换成字符串检索,果然快了10ms左右。

    思路其实挺简单,就是遍历一次字符串,然后检测这个字符在之前出现过没有,没有的话就加在后边,
    有的话就先计算之前的字符串长度与max比较,然后删除出现的字符及之前的字符串,
    接着把新来的字符放入temp后边。最后在比较一次字符串长度就结束。

    /**
     * @param {string} s
     * @return {number}
     */
    var lengthOfLongestSubstring = function(s) {
    
        // let temp = []
        // let max=0
        // s.split('').map((d)=>{
        //     let index=temp.indexOf(d)
        //     if(index!=-1)
        //     {
        //         temp.length>max && (max=temp.length)
        //         temp.splice(0,index+1)
        //     }
        //     temp.push(d)
        // })
        // temp.length>max &&(max=temp.length)
        // return max
        let temp=''
        let max=0
        for(n of s)
        {
            let index=temp.indexOf(n)
            if(index!=-1)
            {
                temp.length>max && (max=temp.length)
                temp = temp.slice(index+1)
            }
            temp+=n
        }
        temp.length>max &&(max=temp.length)
        return max
    };
    
  • 相关阅读:
    Alpha冲刺
    Alpha冲刺
    抽奖系统(记一次未完成的教训)
    Alpha冲刺
    软件工程
    软工实践
    软工实践
    软工实践
    软工实践
    软工实践
  • 原文地址:https://www.cnblogs.com/pupil2021/p/12650929.html
Copyright © 2011-2022 走看看