• 剑指 Offer 48. 最长不含重复字符的子字符串


    请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

    示例 1:

    输入: "abcabcbb"
    输出: 3
    解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
    示例 2:

    输入: "bbbbb"
    输出: 1
    解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
    示例 3:

    输入: "pwwkew"
    输出: 3
    解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
      请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
     

    提示:

    s.length <= 40000

    解析:滑动窗口(双指针)

     1 class Solution {
     2     public int lengthOfLongestSubstring(String s) {
     3        if(s.length()<2) return s.length();
     4        int a=0,b=0;
     5        int res=1;
     6        while(b<s.length()-1){
     7            b+=1;
     8            int k=s.substring(a,b).indexOf(s.charAt(b));
     9            if(k==-1){
    10                res=Math.max(res,b-a+1);
    11            }else{
    12                a=a+k+1;
    13            }
    14        }
    15        return res;
    16     }
    17 }

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/zui-chang-bu-han-zhong-fu-zi-fu-de-zi-zi-fu-chuan-lcof
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 相关阅读:
    web 开发之酷炫--- 酷炫展示
    攻城狮的体检
    科技发烧友之智能路由
    科技发烧友之3d吉米投影
    科技发烧友之单反佳能700d中高端
    上海
    视频会议
    机器学习之信息
    filter
    centos 20T硬盘(超过16T)分区
  • 原文地址:https://www.cnblogs.com/Susie2world/p/13538223.html
Copyright © 2020-2023  润新知