编程之美----相似字符串匹配(解答记录)
来源:互联网 发布:python 召回率和准确率 编辑:程序博客网 时间:2024/04/28 20:30
题目描述:
对于两个长度相等的字符串,我们定义其距离为对应位置不同的字符数量,同时我们认为距离越近的字符串越相似。例如,“0123”和“0000”的距离为 3,“0123”和“0213”的距离则为 2,所以与“0000”相比,“0213”和“0123”最相似。
现在给定两个字符串 S1 和 S2,其中 S2 的长度不大于 S1。请在 S1 中寻找一个与 S2 长度相同的子串,使得距离最小。
输入
输入包括多组数据。第一行是整数 T,表示有多少组测试数据。每组测试数据恰好占两行,第一行为字符串 S1,第二行为 S2。所有字符串都只包括“0”到“9”的字符。
输出
对于每组测试数据,单独输出一行“Case #c: d”。其中,c 表示测试数据的编号(从 1 开始),d 表示找到的子串的最小距离。
数据范围
1 ≤ T ≤ 100
小数据:字符串长度不超过 1000
大数据:字符串长度不超过 50000
样例输入
3
0123456789
321
010203040506070809
404
20121221
211
样例输出
Case #1: 2
Case #2: 1
Case #3: 1
现在假设 s1="010203040506070809",s2="404",首先对 s1 进行预处理,标记出每个字符出现的索引,得到下面的表格:
字符出现的索引'0'0,2,4,6,8,10,12,14,16'1'1'2'3'3'5'4'7'5'9'6'11'7'13'8'15'9'17然后在读取 s2 的每个字符时,根据表格在一个长为
ans = {0, 1, 0, 1, 0, 2, 0, 2, 0, 1, 0, 1, 0 ,1, 0, 1};
那么这个 ans 表示什么呢?ans[i] 表示
#include<iostream>#include<string>using namespace std;int num[10][60000],ans[60000];int main(){ int T,k,len1,len2,anss;string s1,s2; int t=1; cin>>T; while(T>=t) { ++t; cin>>s1;cin>>s2; len1=s1.length();len2=s2.length(); for(int i=0;i<10;++i) num[i][0]=0; // for(int i=0;i<len1;++i) { k=s1[i]-'0'; ++num[k][0];//sum of char// k便于以后使用 num[k][num[k][0]]=i; ans[i]=0; } for(int i=0;i<len2;++i) { k=s2[i]-'0'; for(int j=1;j<=num[k][0];++j) { if(num[k][j]-i>=0) ans[num[k][j]-i]++; } } anss=0; for(int i=0;i<len1-len2+1;++i) { if(ans[i]>anss) anss=ans[i]; } anss=len2-anss;//anss record the similar // anss记录的是相同字符有多少个 cout<<"case #"<<t-1<<": "<<anss<<endl; } return 0;}
- 编程之美----相似字符串匹配(解答记录)
- 编程之美+相似字符串
- 计算字符串的相似度(距离)-编程之美
- 相似字符串(编程之美2013初赛题2)
- [编程之美]字符串的相似度
- 2013 编程之美挑战赛 相似字符串
- 编程之美 相似的字符串
- 编程之美初赛题:相似字符串
- 编程之美 - 计算字符串相似度
- 编程之美之计算字符串的相似度
- 编程之美系列之计算字符串的相似度
- 编程之美——计算字符串的相似度
- 计算字符串的相似度(编程之美)
- 计算字符串的相似度(编程之美)
- 计算字符串的相似度--编程之美3.3
- 编程之美---计算字符串的相似度
- 《编程之美》读书笔记: 3.3 计算字符串的相似度
- 计算字符串的相似度--编程之美3.3
- js实现网页图片延时加载的原理和代码 提高网站打开速度
- 计算机经典书籍电子书合集(适合计算机学生学习以及程序员笔试、面试)
- 多线程的那点儿事(之无锁队列)
- java之内部类
- Guzz DatabaseSharding
- 编程之美----相似字符串匹配(解答记录)
- 多线程的那点儿事(之顺序锁)
- 关于OpenSSL“心脏出血”漏洞的分析
- SCEA认证资料
- 本地图片选择(打开媒体库,选择图片)
- 程序员的必备技能
- 多线程的那点儿事(之无锁链表)
- inno setup 设置IE主页
- 第一篇博客