zoukankan      html  css  js  c++  java
  • 算法:javascript截取字符串

    题目:

    Given a string, find the length of the longest substring without repeating characters.

    Examples:

    Given "abcabcbb", the answer is "abc", which the length is 3.

    Given "bbbbb", the answer is "b", with the length of 1.

    Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.

    代码

    var lengthOfLongestSubstring = function(s) {
        let result = 0, t = [];//预定义
        // var s = 'aab';
        var ans = 0, i = 0, j = 0, n= s.length;
            while (i < n ) {
                // try to extend the range [i, j]
                let index = t.indexOf(s[i]);
                // if(i==2)
                //     return index;
                if (index < 0){
                    
                    ans = Math.max(t.push(s[i]),ans);
                    i++;
                }
                else {
                    t= t.slice(index + 1);//返回截取出来的数组
                    continue;
                }
            }
            return ans;
        
        
        
        /*  O^n */
        /*
        for (var i = 0; i < s.length; i++) {
            //t = t.slice(t.indexOf(s[i]) + 1);//检测是否包含字符串,
            let index = t.indexOf(s[i]) + 1;//找到就返回第一次出现的位置
            
            t = t.slice(index);
            result = Math.max(t.push(s[i]), result);
            
            if(i ==3)
                return t;
        }
        return result
        */
    }
    

      

  • 相关阅读:
    JS笔记之第七天
    JS笔记之第六天
    JS笔记之第五天
    JS笔记之第四天
    JS笔记之第三天
    JS笔记之第二天
    JS笔记之第一天
    PHP文件上传
    bit、Byte、bps、Bps、pps、Gbps的单位的说明及换算
    Redis初级安装及使用
  • 原文地址:https://www.cnblogs.com/pangxiaox/p/7028043.html
Copyright © 2011-2022 走看看