字符串专题练习

1.字符串和整数互相转化

2.字符串移位及移位包含

3.字符串中出现频率最高的字符及出现次数

4.字符串中*的处理(利用快排思想)

5.字符串的删除和替换(删除字符a,复制字符b;把空格替换为“%20”;删除重复字符)

6.字符串翻转

7.字符串最长(连续)重复子串、最长不重复子串

时间: 2024-12-19 14:36:05

字符串专题练习的相关文章

UVa10115_Automatic Editing csdn(小白书字符串专题)

解题报告 题意: 替换字符串,一个单词可重复替换 思路: 这种题都很恶心. #include <iostream> #include <cstring> #include <cstdio> #include <map> using namespace std; char str[1000][1000],ch[1000][1000],sh[1000],str1[1000]; int main() { int n,i,j; while(~scanf("

UVa10815_Andy&#39;s First Dictionary(小白书字符串专题)

解题报告 思路: 字典树应用,dfs回溯遍历字典树 #include <cstdio> #include <cstring> #include <iostream> using namespace std; struct node { int v; node *next[26]; }; int l,m,cnt; char str[100],ch[100],dic[5500][100]; node *newnode() { int i,j; node *p=new nod

算法之字符串专题

一.单串匹配问题 poj2406(求字符串的周期)利用next[ ]性质,ans=next[len]%(len-next[len])==0?next[len]/(len-next[len]):1; poj2752(求所有相同的前后缀)利用next[ ]性质,pos=next[pos](不断向前找) next[0]=-1: next[i]=max(相同前后缀) poj3461(kmp模板题) 二.多串匹配问题 poj3080.poj3450(求多串最长公共字串且字典序最小)二分,枚举首串(按字典序

字符串专题随笔

最小循环表示法 没有找到例题,就口胡一下 记两个指针i=0,j=1,k=0记k为以i,j开头的字符串相同的最长长度为k 若s[i+k]==s[j+k] k++; 若s[i+k]>s[j+k],i=i+k+1,意味着i到i+k之间的都不可能成为最小,因为都会比j的小 若s[i+k]<s[j+k],j=j+k+1,同理 这样就做到了o(n) manacher 不想说了,直接上代码 code 字符串专题随笔 原文地址:https://www.cnblogs.com/lzqlalala/p/11613

字符串专题:map POJ 1002

第一次用到是在‘校内赛总结’扫地那道题里面,大同小异 map<string,int>str 可以专用做做字符串的匹配之类的处理 string donser; str [donser]++ 自动存donser到map并且值加一,如果发现重复元素不新建直接加一, map第一个参数是key,默认字典序升序排列key map<string,int>::iterator ii;         map的迭代器 for(ii=outputer.begin();ii!=outputer.end(

PHP 截取字符串专题

1. 截取GB2312中文字符串 < ?php//截取中文字符串function mysubstr($str, $start, $len) {    $tmpstr = "";    $strlen = $start + $len;    for($i = 0; $i < $strlen; $i++) {        if(ord(substr($str, $i, 1)) > 0xa0) {            $tmpstr .= substr($str, $i

Thematic002.字符串专题

目录 Trie字典树 KMP AC自动机 Manacher 回文自动机 后缀数组 后缀自动机 Trie字典树 概念 我们先来看看什么是Trie字典树 可以发现,这棵树的每一条边都有一个字符 有一些点是黄色的,表示它们被标记了 那么,哪些字符串在这棵树中出现过呢? 从树的根节点到每一个被标记的点的路径上的字符串就是对应黄色点所表示的字符串 举个例子,\(5\) 是一个被标记的点 说明这一条从根节点到 \(5\) 的路径 ( \(1\rightarrow2\rightarrow5\) )上的字符串,

UVa409_Excuses, Excuses!(小白书字符串专题)

解题报告 题意: 找包括单词最多的串.有多个按顺序输出 思路: 字典树爆. #include <cstdio> #include <cstring> #include <iostream> using namespace std; int k,e,num[100],cnt; struct node { int v; node *next[26]; }; node *newnode() { node *p=new node; p->v=0; int i; for(i

字符串专题一:KMP与扩展KMP

KMP算法主要用于解决单模式串的匹配问题,即:给定主串s和模式串p,问p是否是s的子串(len(s)<=N, len(p)<=M). 先考虑最朴素的算法,即枚举s中的起点i,检查s[i..i+M-1]是否等于p,这样的时间复杂度为O(NM). 分析一下为什么这样的算法效率低(建议读者手动画个图):设指针i和j分别指向s和p中的字符,不妨假定s[0..k-1]和p[0..k-1]已经匹配上了,而s[k]!=p[k](k<M),这说明s[0..M-1]已经不能匹配上p了,根据朴素算法,指针i