九度题目1530:最长不重复子串

简介:

题目1530:最长不重复子串
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:873
解决:284
题目描述:
最长不重复子串就是从一个字符串中找到一个连续子串,该子串中任何两个字符都不能相同,且该子串的长度是最大的。


输入:
输入包含多个测试用例,每组测试用例输入一行由小写英文字符a,b,c...x,y,z组成的字符串,字符串的长度不大于10000。


输出:
对于每组测试用例,输出最大长度的不重复子串长度。


样例输入:
absd
abba
abdffd

样例输出:
4
2
4

来源:
阿尔卡特2013年实习生招聘笔试题

 

 

AC代码:

#include<stdio.h>
#include<string.h>
char a[11000];
int b[11000];
int flag[28];
int main()
{
    int i,j,n,m,sum,max;
    while(scanf("%s",a)!=EOF)
    {
       n=strlen(a);m=0;
       for(i=0;i<n;i++)
       {
          b[m++]=a[i]-'a';
       }
       sum=0;max=-9999999;
       for(i=0;i<m;i++)//没有回溯就WA了 
       {
          memset(flag,0,sizeof(flag));
          sum=0;
          for(j=i;j<m;j++)
          {
             if(!flag[b[j]])
             {
                 flag[b[j]]=1;
                 sum++; 
                 if(sum>max)
                 max=sum;           
             }
             else break;
          } 
       }
       printf("%d\n",max);
       memset(a,0,sizeof(a));
    }
    return 0;
}
相关文章
|
4月前
代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
代码随想录 Day44 动规12 LeetCode T300 最长递增子序列 T674 最长连续递增序列 T718 最长重复子数组
43 0
|
4月前
|
人工智能
leetcode-718:最长重复子数组
leetcode-718:最长重复子数组
31 0
|
5月前
【每日一题Day226】L1156单字符重复子串的最大长度 | 贪心+滑动窗口
【每日一题Day226】L1156单字符重复子串的最大长度 | 贪心+滑动窗口
27 0
|
5月前
|
存储 算法 程序员
【算法训练-字符串 一】【子串问题】最长无重复子串、最长回文子串、最长公共前缀
【算法训练-字符串 一】【子串问题】最长无重复子串、最长回文子串、最长公共前缀
34 0
|
7月前
|
算法 C++
剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)
剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)
|
11月前
最长不重复子串的有趣解法
最长不重复子串的有趣解法
115 0
|
11月前
剑指offer 49. 最长不含重复字符的子字符串
剑指offer 49. 最长不含重复字符的子字符串
45 0
|
11月前
|
机器学习/深度学习 人工智能 算法
代码随想录训练营day52| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组...
代码随想录训练营day52| 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组...
|
12月前
|
算法 C++ Python
每日算法系列【LeetCode 424】替换后的最长重复字符
每日算法系列【LeetCode 424】替换后的最长重复字符
|
人工智能
leetcode 718 最长重复子数组
leetcode 718 最长重复子数组
50 0
leetcode 718 最长重复子数组