问题描述:

给定一个字符串,找到最长的子串,要求该子串中没有重复的字符。

例如:

字符串abcabcbb的不含重复字符的 最长 子串为abc,长度为 3。

而bbbbbb的不含重复字符的 最长 子串为b,长度为 1。

输入格式

输入包含多行,每一行对应一个长度不超过 100 的输出,直到遇到结束符为止。每行依次输入字符串s。

输出格式

输出不含重复字符的 最长 子串的长度。

样例输入

hchzvfrkmlnozjk

样例输出

11

C++语言代码:

#include <cstring>
#include <iostream>
using namespace std;
int main()
{char a[1000];int b[1000];while(cin>>a){int len=strlen(a);  //计算字符数组的长度利用strlen()时需要加上头文件<cstring>int i,j;int max=1;for(i=0;i<len;i++){int z=0;//每当重新进行扫描时,都要将计数变量z清零,用于重新计数memset(b,0,sizeof(b));//memset(b,0,sizeof(b))函数是将数组a中的所有元素都初始化为0for(j=i;j<=len;j++){int x=a[j];//将输入到char a数组中的第一个字符所对应的ASCII的值赋给变量xb[x]++;//将变量对应的ASCII值当做数组a的下标,每个下标对应的值都是在memset函数中初始为了0if(max<z) max=z;//用来进行计数的变量if(b[x]>1) { break;}//当同一个下标对应的数组值大于1时,就说明遇到有重复的字符出现,此时退出循环,重新开始计数。z++;}}cout<<max<<endl;}
}

C语言代码

#include<stdio.h>
#include<string.h>
char a[125];
int b[125];
int main()
{  while(scanf("%s",a)!=EOF)  {  int len=strlen(a);  int i,j;  int max=-1;  for(i=0;i<len;i++)  {      memset(b,0,sizeof(b));  b[a[i]-'0']=1;  for(j=i+1;j<len;j++)  {  if(b[a[j]-'0']==0)  {  b[a[j]-'0']=1;   }  else  break;  }  if(max<j-i)  max=j-i;  }  printf("%d\n",max);   }
}

计蒜客 最长不重复子串问题相关推荐

  1. [计蒜客][字符串]最长的名字

    题目来源 计蒜客程序设计竞赛基础课(蓝桥杯省赛) 算法标签 字符串 题目描述 思路 更新最长 把字符串都放数组里,看谁长度和最大值一致就拿出来 AC代码 #include<iostream> ...

  2. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,剩下D题不知如何下手,望大佬指教. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:计算周长 B. 结果填空:七巧板 C. 结果填空:苹果 ...

  3. 计蒜客 - 新年礼物

    计蒜客 新年礼物 新年了,蒜厂 BOSS 要给小蒜头们发新年礼物,新年礼物有很多份,怎么分配这些礼物呢?蒜厂 BOSS 打算让大家玩一个游戏. 蒜头们可以从抽奖箱里抽出 NNN 个字符串,第 iii ...

  4. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,更新完毕. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:有趣的数字 B. 结果填空:爬楼梯 C. 结果填空:七巧板 D. 结果填空:苹果 ...

  5. 2020蓝桥杯B 组省赛计蒜客模拟赛(一)题解

    2020蓝桥杯省赛 B 组计蒜客模拟赛(一)目录 试题 A:有趣的数字(结果填空) 试题 B:爬楼梯(结果填空) 试题 C:七巧板(结果填空) 试题 D:苹果(结果填空) 试题 E:方阵(结果填空) ...

  6. 无脑博士的试管们java_计蒜客 无脑博士和他的试管们

    标签: 无脑博士有三个容量分别是A,B,C升的试管,A,B,C分别是三个从1到20的整数,最初,A和B试管都是空的,而C试管是装满硫酸铜溶液的.有时,无脑博士把硫酸铜溶液从一个试管倒到另一个试管中,直 ...

  7. 最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和...

    最长公共子序列|最长公共子串|最长重复子串|最长不重复子串|最长回文子串|最长递增子序列|最大子数组和 文章作者:Yx.Ac   文章来源:勇幸|Thinking (http://www.ahathi ...

  8. LeetCode:Longest Substring Without Repeating Characters(最长不重复子串)

    题目链接 Given a string, find the length of the longest substring without repeating characters. For exam ...

  9. 计蒜客 T1853:非常男女(前缀和)

    上一篇博客计蒜客 T1101:大整数的因子(高精度除法详解)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.这篇博客来记录一下计蒜客T18 ...

最新文章

  1. 计算机 程序 原理,计算机储存程序和程序原理是谁提出来的
  2. 检查Bash数组是否包含值
  3. replace 替换字符串
  4. Hamcrest Matchers的高级创建
  5. Intellij IDEA 2017 如何导入 GitHub 中的项目
  6. Swift延迟加载的一种用途
  7. warning C4995: “....”: 名称被标记为 #pragma deprecated
  8. 力扣——合并两个有序数组
  9. 博客园博客使用无觅插件
  10. python中正则的使用
  11. “海青杯”复赛群雄逐鹿,凡科为青年创业翱翔插上翅膀
  12. 阿里云直播集成简要指南
  13. spa项目开发之vue+elementUi实现tab页
  14. 多功能无线测量仪的设计与制作
  15. oracle中不等于怎么表示,sql语句不等于怎么表示
  16. 嵌入式开发笔记-STM32CudeIDE平台入门
  17. robocup3d 发布比赛版本
  18. qevent 事件的accept()和ignore()
  19. Matlab画图如何去掉图形框右边和上边的刻度
  20. matlab 画梯形,转向梯形优化设计matlab程序

热门文章

  1. 浏览器控制打印机在线打印
  2. not exists(not in) ;exists(in)
  3. 高级java工程师周末班,西安java工程师培训周末班
  4. 77期:全世界数一数二的MySQL团队如何做到的
  5. 收藏艺术家作品的最好时机,不容错过!
  6. JavaScript基础系列之四 面向对象编程
  7. 推荐几个实用的Excel小技巧给你
  8. 7-88 晨阳哥哥之世界末日 (15分)
  9. 海报素材要去哪里找?
  10. MYSQL学习心得 总结