zoukankan      html  css  js  c++  java
  • 计算给定字符串的无重复字符的最长子串长度

     1 int lengthOfLongestSubstring(string s) 
     2 {
     3     int size = s.size();/*字符串长度*/
     4     vector<int> dict(256,-1);/*用来存储字符串中字符出现的位置*/
     5     int maxlen = 0;/*最大无重复字符串长度*/
     6     int start = -1;/*无重复字符串开始的位置*/
     7     for (int i=0; i<size; ++i) 
     8     {       
     9         if (dict[s[i]] > start) /*一旦某字符有了位置记录 说明该字符重复出现*/
    10         {
    11             start = dict[s[i]]; /*把该字符上次出现的位置 记录为字符串开始位置*/                  
    12         }
    13         dict[s[i]] = i; /*记录字符出现的位置 更新*/ 
    14         maxlen = max(maxlen, i - start);  /*实时计算无重复字符串长度*/
    15     }
    16     return maxlen;/*返回最大无重复字符串长度*/
    17 }
  • 相关阅读:
    PowerDesigner11.0的SQL生成表,写列描述出错
    centos中crontab(计时器)用法详解
    5.14
    4.13
    5.15
    监听服务启动失败
    4.24
    Enjoy 4.26
    4.14
    export
  • 原文地址:https://www.cnblogs.com/GoldenEllipsis/p/10392236.html
Copyright © 2011-2022 走看看