找出两个字符串共同具有的最大字符数。字符是区分大小写的,即小写和大写字符被视为不同。
这是我的代码:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
std::string a, b;
int number_cases = 0, count = 0;
cin >> number_cases;
while (number_cases != 0) {
cin >> a;
cin >> b;
for (int i = 0; i < a.size(); i++) {
for (int j = 0; j < b.size(); j++) {
if (a[i] == b[j]) {
count++;
b[j] = '#';
break;
}
}
}
cout << count << endl;
count = 0;
--number_cases;
}
}
但是运行需要超过1秒钟,我需要将其优化到不到1秒钟或恰好1秒钟。有什么优化技巧吗?