题解 | #密码验证合格程序#
密码验证合格程序
http://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841
实现条件3:不能有相同长度大于2的子串重复
- 不能有长度大于2的相同子串 = 排查每一个长度为3的子串
- for loop 的作用:从左手边红色方框一格一格移动至右边红色方框
- 确认子串后,从下一个位置开始寻找长度为3的相同子串
- 若找到返回false。若没找到成功走出for loop 并且返回true
bool determine2(string& s)
{
string str;
for (int i = 0; i < s.size() - 3; i++) // 2.
{
str = s.substr(i, 3);
if (s.find(str, i + 3) != s.npos) // 3.
{
return false; // 4.
}
}
return true;
}
