进阶11.字符串对比
题目描述
给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4种情况之一:
1:两个字符串长度不等。比如 Beijing 和 Hebei
2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。
代码
cpp
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
// 辅助函数:将字符串转换为小写
string toLowerCase(string s) {
string result = s;
for(int i = 0; i < result.length(); i++) {
result[i] = tolower(result[i]);
}
return result;
}
int main() {
string s1, s2;
// 读取两个字符串
cin >> s1 >> s2;
// 情况 1: 长度不等
if (s1.length() != s2.length()) {
cout << 1 << endl;
}
// 情况 2: 长度相等且完全一致
else if (s1 == s2) {
cout << 2 << endl;
}
// 情况 3: 忽略大小写后一致
else if (toLowerCase(s1) == toLowerCase(s2)) {
cout << 3 << endl;
}
// 情况 4: 长度相等但怎么都不一致
else {
cout << 4 << endl;
}
return 0;
}
总结
判断长度 :首先检查两个字符串的长度是否相等。如果不等,直接返回 1。
判断完全相等 :如果长度相等,检查两个字符串是否完全一致(包括大小写)。如果是,返回 2。
判断忽略大小写相等 :如果不完全一致,将两个字符串都转换为纯小写(或纯大写)后再进行比较。如果此时相等,说明只是大小写不同,返回 3。
其他情况 :如果长度相等,且即使忽略大小写也不相等,则返回 4。
翻译
近年来,预训练模型在人工智能研究中发挥了重要作用。研究人员通常首先使用大规模数据集训练一个通用模型,然后在特定任务上对其进行微调。这样一来,模型就可以利用在预训练阶段学到的知识来提高下游任务的性能。例如,在自然语言处理领域,许多语言模型在海量文本语料库上进行预训练,并在文本分类、机器翻译和问答等任务中取得了优异的结果。预训练和微调框架不仅降低了训练成本,而且提高了模型的泛化能力。因此,这种方法已成为现代人工智能研究中的一个重要范式。
fine-tune: v. 微调
downstream tasks: n. 下游任务
corpora: n. 语料库
paradigm: n. 范式,典范,模式。