题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

#include <iostream>
using namespace std;
#include <string>
int main() {
    string s;
    getline(cin, s);
    int len = s.size();
    int arr[4] = { 0 };
    int num = 0;
    int count = 0;
    for (int i = 0; i < len; i++) {
        if (s[i] >= 65 && s[i] <= 90) {
            arr[0] = 1;
        }
        else if (s[i] >= 97 && s[i] <= 122) {
            arr[1] = 1;
        }
        else if (s[i] >= '0' && s[i] <= '9') {
            arr[2] = 1;
        }
        else {
            arr[3] = 1;
        }
    }
    for (int i = 0; i < 4; i++) {
        if (arr[i] == 1) {
            count++;
        }
    }
    /*假设字符串是"abc021987aab"开始是进行"abc"与"021"之间判断,也就是错开一个进行判断
    而该整体循环末尾是"7aa"与"aab"进行判断
    */
    for (int i = 0; i <= len - 4; i++) {
        for (int j = i + 1; j < len - 3; j++) {
            if (s[i] == s[j] && s[i + 1] == s[j + 1] && s[i + 2] == s[j + 2]) {
                num++;
            }
            if (num > 0) {
                break;
            }
        }
        if (num > 0) {
            break;
        }
    }
    if (len >= 8 && count >= 3 && num == 0) {
        cout << "OK" << endl;
    }
    else {
        {
            cout << "NG" << endl;
        }
    }

}

全部评论

相关推荐

牛客928043833号:在他心里你已经是他的员工了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务