首页 > 其他分享 >统计一个字符串中不重复的字符串的最大长度

统计一个字符串中不重复的字符串的最大长度

时间:2023-05-31 20:55:20浏览次数:39  
标签:int max char 重复 字符串 长度 include left

统计一个字符串中不重复的字符串的最大长度

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <unistd.h>
int get_maxlen(char *s)
{
    int a[128]={0};
    int b=0,left=0;
    int max=0;
    while(b<strlen(s))
    {
        if(a[s[b]]>0)
        {
            a[s[left]=0];
            left++;
        }
        else
        {
            a[s[b]]=1;
            b++;
            max=(b-left)>max?(b-left):max;
        }
    }
    return max;
}
int main()
{
    char a[128]={0};
    printf("input >>");
    scanf("%s",a);
    printf("%d\n",get_maxlen(a));
    return 0;
}

标签:int,max,char,重复,字符串,长度,include,left
From: https://www.cnblogs.com/yesiming/p/17447311.html

相关文章

  • 剑指offer 58 2 左旋转字符串
    将左边n个字符转移到字符串结尾,比如s=abcdefg,n=2;输出cdefgab。看起来不难,但是解法还是挺多的,重要的是复杂度。还是先写下思路,常规的思路(暴力):就是定义两个字符串str1,str2,n之后的字符全部拷贝进入str2,然后再把k和k之前字符的拷贝进入str1,返回str2+str1。缺点嘛,空间复杂度高,时间......
  • java 中字符型 和 字符串类型有什么区别
    在Java中,字符型和字符串类型都是常用的数据类型,但是它们有着本质的不同。字符型是基本数据类型,表示单个字符,使用char表示。例如:'A'、'1'、'中'等。字符串类型是引用数据类型,表示由多个字符组成的字符串,使用String表示。例如:"hello"、"world"、"你好"等。下面列举一些它们......
  • 算法总结——堆栈、字符串、数组类题目
    先说stack的题目stack的实现:链表,数组题目:(1)简单的:minstack,一个数组实现三个stack(2)经典的stack问题:经典汉诺塔问题,逆波兰式计算或者产生逆波兰式,简化文件路径,验证括号对是否合法,找出最长有效括号(贪心+stack求解)(3)涉及tree的遍历问题:tree中序遍历的迭代解法,二叉搜索树的两节点和(twosu......
  • 编辑字符串距离
    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1183题意:编辑距离,又称Levenshtein距离(也叫做EditDistance),是指两个字串之间,由一个转成另   一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删   除一个字符......
  • UE4字符串调试日志
    #在运行时打印输出信息原作者:Rama(opensnewwindow)此文为Logs,PrintingMessagesToYourselfDuringRuntime(opensnewwindow)的原创翻译,本文内容版权归原文所有,仅供学习,如需转载望注本文地址,翻译不易,谢谢理解。#概述Logs很重要,因为它通过给你反馈来让你知道:你的......
  • 关于C++字符串的一些函数
    其实印象里,c的char用法反倒比c++的string深一点,可能是因为我对string的运用太少了吧。 提到C++的string,就得先提一下首先提一下C的char类型,毕竟C++是根据C延展过来的,继承了C的特性,而且C本身是没有string这个东西的。 char是什么?一个关键字,用于声明一个变量是字符类型。好吧,......
  • 字符串解压缩问题——贪心算法
     importsysdefload_data():returnsys.stdin.read()defget_position_map(s):result={}stack=[]fori,cinenumerate(s):ifc=="[":result[i]=-1stack.append(i)elifc=="......
  • 基于长读的基因组重复序列查找技术研究
    基于长读的基因组重复序列查找技术研究郭睿深圳大学摘要:基因组中出现两次或者两次以上基本相同的序列称为重复序列。重复序列信息可以用来可以分析物种的进化,减少基因比对歧义,降低序列拼接数据缺失。与标准重复序列库对比,基于短读序列数据的重复序列查找技术得到的结果并......
  • 拼接字符串
      在Python中,join()是字符串的一个方法,用于将一个可迭代对象中的元素连接成一个字符串 ......
  • MySQL数据库,字符串字段拆分
    MySQL数据库,字符串字段拆分英文姓名存储在一个字段如何拆分出firstname和lastname查询语句SELECTREPLACE(name,CONCAT('',SUBSTRING_INDEX(name,'',-1)),'')ASfirstname,SUBSTRING_INDEX(name,'',-1)ASlastnameFROMpeople;SUBSTRING_INDE......