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

相关推荐

不愿透露姓名的神秘牛友
07-07 13:46
点赞 评论 收藏
分享
门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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