密码验证合格程序【牛客网】

题意理解

校验密码,密码前提一个,长度超过2;要求有三个,长度超过8,大写字母,小写字母,数字和其他字符至少三种,不得有相同的长度超过2的子串。

问题分析

用string,逐个要求分析,长度判断用size();

字符类型用数组下标逐字符统计四种类型,至少三种的判断转化为四个类型数量大于0,类型1\类型2\类型3\类型4分别为0其他不为0,共5种情况。

相同长度超过2的子串,那么长度至少为3,4及4以上的子串不用判断,因为中间必然包含了长度3的子串。长度3的子串判断方法:所有3个的子串的来源设置一个游标,从第一个字符依次向后走直到字符串尾。需要比较所以设置两个游标。两层循环比较。

其他

漏掉了4个类型都大于0情况。

链接

https://github.com/xierensong/learngit/blob/master/ncode/9/9.cpp

猜你喜欢

转载自blog.csdn.net/xiexie1357/article/details/85599083