相同字符数目
来源:互联网 发布:善领端口是那个文件 编辑:程序博客网 时间:2024/06/05 16:23
题目描述
问题很简单,给定仅由大小写字符和数字字符组成的字符串A和B,统计A和B中相同字符的数目,不考虑字符的次序。例如字符串“ABCAD”
与”dACBA”, 相同字符共有四个,分别是两个‘A’,一个‘B’和一个‘C'.
输入
第一行是一个整数T,表示有多少组数据。每组数据一行,每行包括由空格分开的两个字符串A和B,字符串长度不超过100.
输出
对于每组数据,输出一行,该行仅包括一个整数,即两个字符串的相同字符数目。
样例输入
2ABCAD dACBA12345 abde
样例输出
40
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int main(){int i, j, n, c, d, e, g, sum;char a[110], b[110];scanf("%d", &n);while (n--){scanf("%s", a);scanf("%s", b);c = strlen(a);d = strlen(b);sort(a, a + c); //默认升序sort(b, b + d); //默认升序sum = 0; e = 1; g = 0;for (i = 0; i<c; i++){if (a[i] != a[i + 1]){for (j = 0; j<d; j++){if (a[i] == b[j]){for (; j<d; j++){if (a[i] != b[j]){if (e <= g){sum = sum + e;e = 1;g = 0;break;}else{sum = sum + g;e = 1;g = 0;break;}}if (a[i] == b[j] && j == d - 1){g++;if (e <= g){sum = sum + e;e = 1;g = 0;break;}else{sum = sum + g;e = 1;g = 0;break;}}else{ g++; }}if (a[i] != b[j]) break;}}}else { e++; }}printf("%d\n", sum);}return 0;}
0 0
- 相同字符数目
- 1545: 相同字符数目
- 问题 B: 相同字符数目
- 字符数目相同的子字符串的数目
- 首尾字符相同的子字符串的数目
- 删除相同字符
- C判断字符相同
- 去除相同的字符
- C#生成指定数目的互不相同的随机数
- C#生成指定数目的互不相同的随机数
- 统计两个文件中相同行的数目
- 计算一个数组中相同元素对的数目
- 【Javascript】提取指定数目的字符substr()
- javascript 提取指定数目的字符substr()
- 提取指定数目的字符substr()
- 统计字符串中字符种类的数目
- BZOJ4566 [Haoi2016]找相同字符
- [bzoj4566][HAOI2016]找相同字符
- win7 openssl keystore android 备忘
- 从Hadoop1.x集群升级到Hadoop2.x失败回滚步骤
- SQL注入
- Android 应用开发使用小技巧总结
- attachEvent 和addEventListener
- 相同字符数目
- C# ppt转PDF
- GraphX中Pregel单源点最短路径
- 在青云上创建虚拟机并远程登录
- 简介DefaultView
- ARM中断机制
- sockaddr与sockaddr_in结构体简介
- ubuntu下Tomcat7安装
- PCA的简单理解