📅  最后修改于: 2023-12-03 15:35:18.840000             🧑  作者: Mango
test3 - C++是一个基于C++语言的开源项目,主要用于实现各种算法和数据结构的实现,是程序员经常使用的工具之一。除此之外,该项目也提供了一些面试题和程序设计题,方便程序员练习和提高编程技能。
git clone https://github.com/xxx/test3.git
cd test3
make
./test
以下为test3 - C++提供的一个程序设计题示例:
给定一个字符串s和一个非空字符串p,求p是否为s的子串。
输入:
s = "hello world"
p= "e"
输出:
true
可以使用双指针的方法,用i指向字符串s的起始位置,j指向字符串p的起始位置,然后依次往后遍历,如果s[i]等于p[j]则i和j都后移一位,否则i回到上一个位置,j回到字符串p的起始位置,并将i往后移一位,直到匹配成功或者s的剩余字符长度小于p。
bool isSubstring(string s, string p) {
int i = 0, j = 0;
while (i < s.length() && j < p.length()) {
if (s[i] == p[j]) {
i++;
j++;
} else {
i = i - j + 1;
j = 0;
}
}
return j == p.length();
}
test3 - C++是一个功能丰富、易用的C++开源项目,提供了丰富的算法和数据结构实现,以及面试题和程序设计题,非常适合程序员练习和提高编程技能。如果你正在学习C++,不妨试试这个项目。