随笔分类 - 字符串问题
摘要:思路:参考了网上,思路很清奇,借助vis[i][j]来表示从i到j是否为回文串,回文串这边是用的双重循环来写的;dp[i]用来表示以i结尾的字符串最少的回文串有多长。
阅读全文
摘要:》》点击进入原题测试《《 思路:用KMP优化的暴力写了一遍,超时!没有充分利用KMP中next数组的性质。 首先这个题是肯定要用到KMP算法的,然后会有一个next[]数组。 用一个数组来sum[i]表示长度为i的前缀的字符串有多少个,于是默认所有初始值为1; 然后倒着递推sum[next[i]]+
阅读全文
摘要:》》点击进入原题测试《《 思路:这个题是真的想了蛮久,枚举了一下前一百就发现了规律,要想最短的话就是要构建1234567890这个字符串;刚开始找到的规律从1开始枚举到N,每满一百加一,每出现一个各个位数上数字相同的(例如3,22,111)都加一;然后数太大枚举肯定要超时,于是改进了一下,假如这个数
阅读全文
摘要:》》点击进入原题测试《《 思路:好久不见,今天要开始真正写题了。这个题之前我的理解有点问题,导致写了很久最终都是一直都只能过样例。需要注意的是输出中每一个“1”都是和别的输出相互独立的,比如输入以下样例 在输出字符串当中每一个“1”都代表原字符串中该位置以前包括该位置的字符都是满足题目要求的ABAB
阅读全文
摘要:S[0...n-1]是一个长度为n的字符串,定义旋转函数Left(S)=S[1…n-1]+S[0].比如S=”abcd”,Left(S)=”bcda”.一个串是对串当且仅当这个串长度为偶数,前半段和后半段一样。比如”abcabc”是对串,”aabbcc”则不是。 现在问题是给定一个字符串,判断他是否
阅读全文

浙公网安备 33010602011771号