首页 > 其他分享 >459. 重复的子字符串c

459. 重复的子字符串c

时间:2024-03-19 16:37:40浏览次数:23  
标签:459 index int next 重复 字符串

void build(int* next,char* s,int n){
    next[0]=-1;
    int index=1,j=-1;
    while(index<n){
        if(j==-1 || s[index-1] == s[j]){
            j++;
            next[index++]=j;
        }else{
            j=next[j];
        }
    }
    for(int i=0;i<n;i++) printf("%d ",next[i]);
}

bool repeatedSubstringPattern(char* s) {
    int n=strlen(s);
    if(n==1) return false;
    int* next=(int*)malloc(sizeof(int)*n);
    build(next,s,n);
    int t=next[n-1];
    if(s[t]!=s[n-1]) return false;
    t++;
    if(n%(n-t)!=0 ) return false;
    return true;
}

 

标签:459,index,int,next,重复,字符串
From: https://www.cnblogs.com/llllmz/p/18083276

相关文章

  • 28. 找出字符串中第一个匹配项的下标c
    voidbulid(int*next,char*s,intn){next[0]=-1;intindex=1,j=-1;while(index<n){if(j==-1||s[index-1]==s[j]){j++;next[index++]=j;}else{j=next[j];}}}intstrStr(c......
  • C语言判断回⽂字符串
    使用C语言判断这个字符串是否是回⽂字符串(字符串的长度小于等于30,字符串不包含空格),如果是回文字符串输出Yes,如果不是回⽂字符串输出No。回文串:是一个正读和反读都一样的字符串方法:1.使用两个指针分别放置在字符串的头和尾,进行比较,如果相同,则头++,尾–.不同则结束判断......
  • java判断拼音字符串是不是汉字全拼
    publicstaticvoidmain(String[]args){Stringstr="wange";Stringstr1="huanggong";Stringstr2="wang文胜";Stringstr3="heihiyijiaren";Stringstr4="huangt......
  • LeetCode 217 存在重复元素(JAVA)
    LeetCode217存在重复元素(JAVA)一、题目描述:给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。示例1:输入:nums=[1,2,3,1]输出:true示例2:输入:nums=[1,2,3,4]输出:false示例3:输入:nums=[1,1,1,3,3,4,......
  • 字符串增加千分位 负号提前处理
    *千分位DATA:LV_STRTYPESTRING,LV_CURRCTYPESTRING,LV_TMP1TYPESTRING,LV_TMP2TYPESTRING,LV_LENTYPEI,LV_LEN1TYPEI,LV_LEN2TYPEI,LV_LEN3TYPEI,LV_LEN4TYPEI.DATA:LV_CURRTYPEBAPICURR-BA......
  • 字符串的处理
    目录1、str.lower()2、str.upper()3、str.split(sep=None)4、str.count()5、str.find()6、str.index()7、str.startwith()、str.endswith()8、str.replace(old,news)9、str.center(width,fillchar)首先,字符串在python中是一个不可变的数据类型;其次,字符串包含了许多......
  • BCD转字符串
    //////BCD转字符串/////////偏移量///数字字符串位数//////publicstaticstringBCDToString(byte[]bcdNum,intoffset,intnumlen){stringretString="";intres;varlen=Math.DivRem(numlen,2,outres);if(res!=0){len++;}for(i......
  • C#在不区分大小写的情况下比较字符串是否相等
    string.Equals(varData_QCMH04.ST_NO.Trim(),tempSteelType,StringComparison.OrdinalIgnoreCase)publicvoidGetRemoteStandardToLocal(){try{//MyRegion读取数据库获取原始数据usingIDbConnectiondbConnection=newOracleConnection(st......
  • 上述代码传递一个对象的化,是否容易造成子组件的多次重复渲染
    constrenderStartTime=useCallback((text,record,idx,changeTableData)=>{ return( <CacheRender dataIndex="startTime" controlRules={()=>startTimeRules(record,idx,measTableRef.current)} compType="input" t......
  • 字符串压缩(C++)
    字符串压缩:    例如:aaaabbbccx-->4a3b2cx,单个字符不压缩。基本思想:前后两两字符作比较,若相同则计数器加一,若不同则直接输出。程序代码:#include<iostream>intmain(){ strings; intcount=1; cin>>s; s=s+"";//加上空格是为了方便最后一个字符的比较 in......