leetcode3最小重复子串

2024-06-19 13:41:10 浏览数 (2)

LC3

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

示例 1:

代码语言:javascript复制
 输入: s = "abcabcbb"
 输出: 3 
 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
代码语言:javascript复制
 class Solution {
 public:
     int lengthOfLongestSubstring(string s) {
         int maxlen=0;
         vector<int>m(128,0);
         int head=0;
         for(int i=0;i<s.size();i  ){
             head=max(head,m[s[i]]);
             m[s[i]]=i 1;
             maxlen=max(maxlen,i-head 1);
         }
         return maxlen;
     }
 };//利用vector将字符的ASCII作为下标,值为位置来查重

0 人点赞