2015-07-13 leetcode:Longest Substring Without Repeating Characters

来源:互联网 发布:js获取当前时间字符串 编辑:程序博客网 时间:2024/06/08 05:36

整理自我之前的博客

原文地址

Longest substring without repeating characters

#include<stdio.h>#include<stdlib.h>#include<map>#include<vector>#include<string>#include<cstdio>#include<iostream>using namespace std;int main(){     string s;      getline(cin,s);       int buf[256];        memset(buf,-1,sizeof(buf));        int index=-1; //用来判断是否重复出现,以及最后一次重复出现的位置定为index        int Max=0;        for (int i=0;i<s.size();i++)        {            if(buf[s[i]]>index) //如果buf的s[i]大于index的值,就说明该值出现过,并且已经被更改过值  //把字符转化为ASCII码之后,赋值到buf数组中            {                index=buf[s[i]];  //如果某个值是重复出现过,只需要记录其            }            if(i-index > Max) //只要记录所出现的字符串的最大长度即可,保留Max的值            {                Max=i-index;            }            buf[s[i]]=i;  //如果某个字符新出现的话,应该是更新到最后一个出现的位数      //需要先判断再赋值,否则第一次出现的字符都更改了        }        cout<<Max<<endl;        system("pause");        return Max;}
阅读全文
0 0
原创粉丝点击