微软编程之美-初赛
相似字符串
描述
对于两个长度相等的字符串,我们定义其距离为对应位置不同的字符数量,同时我们认为距离越近的字符串越相似。例如,“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
1 #include<stdlib.h> 2 #include<string.h> 3 #include<stdio.h> 4 int main() 5 { 6 int T; 7 int c=0; 8 char s1[50000]; 9 char s2[50000]; 10 scanf("%d",&T); 11 while(T--) 12 { 13 c++; 14 scanf("%s",s1); 15 scanf("%s",s2); 16 int i,j; 17 int s1l=strlen(s1); 18 int s2l=strlen(s2); 19 int min=s2l; 20 for(i=0;i<=(s1l-s2l);i++) 21 { 22 int count =0; 23 for(j=0;j<s2l;j++) 24 { 25 if(s1[i+j]!=s2[j]) 26 count++; 27 } 28 if(count<min) 29 min=count; 30 } 31 printf("Case #%d: ",c); 32 if(T==0) 33 printf("%d",min); 34 else 35 printf("%d\n",min); 36 } 37 return 0; 38 }
123456789101112131415161718192021222324252627282930313233343536373839#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using
namespace
std;
int
main()
{
int
T;
int
c=0;
string s1,s2;
cin>>T;
while
(T--)
{
c++;
cin>>s1;
cin>>s2;
int
i,j;
int
s1l=s1.length();
int
s2l=s2.length();
vector<
int
>v;
for
(i=0;i<=(s1l-s2l);i++)
{
int
count =0;
for
(j=0;j<s2l;j++)
{
if
(s1[i+j]!=s2[j])
count++;
}
v.push_back(count);
}
sort(v.begin(),v.end());
cout<<
"Case #"
<<c<<
": "
;
if
(T==0)
cout<<v[0];
else
cout<<v[0]<<endl;
}
return
0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述