360笔试 9.11第二题密码求解惑

#include <iostream>
#include <string>
#include <vector>

using namespace std;


bool isvalid(string& s) {
	int valid = 0;
	int len = s.size();
	if (len < 8) return false;

	int digit = 1;
	int a = 1;
	int A = 1;
	int etc = 1;
	for (int i = 0; i < len; i++) {
		if (s[i] >= '0' && s[i] <= '9') {
			if (digit) {
				valid++;
				digit = 0;
			}
		}
		else if (s[i] >= 'a' && s[i] <= 'z') {
			if (a) {
				valid++;
				a = 0;
			}
		}
		else if (s[i] >= 'A' && s[i] <= 'Z') {
			if (A) {
				valid++;
				A = 0;
			}
		}
		else {
			valid++;
		}
	}
	if (valid >= 4) return true;
	return false;
}

int main() {
	
	string s;
	
	vector<string>arr;
	while (getline(cin, s)) {
		arr.push_back(s);
	}

	for (int i = 0; i < arr.size(); i++) {
		bool res = isvalid(arr[i]);
		if (res) cout << "OK" << endl;
		else cout << "Irregular password" << endl;
	}

	return 0;
}
不知道为什么赛码网显示“未通过所有测试案例”,好歹过一点吧,不知道什么问题#笔试题型##360公司#
全部评论
我写成了OK 心态崩了:
1 回复 分享
发布于 2020-09-11 22:58
这就是前几天小米原题,就改了下输入的格式
点赞 回复 分享
发布于 2020-09-11 23:13
楼上+1,另外而且不要用vector存,输入一个输出一个,不过我还是过0.91
点赞 回复 分享
发布于 2020-09-11 22:52
Ok第二个k小写吧
点赞 回复 分享
发布于 2020-09-11 22:51

相关推荐

06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 11:16
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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