关注
```
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Main {
Set<Character> set = new HashSet<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] s = new String[n];
for (int i = 0; i < n; i++) {
s[i] = sc.next();
}
Main m = new Main();
m.setSet();
for (int i = 0; i < n; i++) {
System.out.println(m.isStrong(s[i]) ? "yes" : "no");
}
}
public void setSet() {
set.add('!');
set.add('@');
set.add('#');
set.add('$');
set.add('%');
set.add('^');
set.add('&');
set.add('*');
set.add('(');
set.add(')');
set.add('_');
set.add('-');
set.add('=');
set.add('+');
set.add('[');
set.add(']');
set.add('{');
set.add('}');
set.add(',');
set.add('.');
set.add('<');
set.add('>');
set.add('/');
set.add('?');
}
public boolean isStrong(String s) {
int n = s.length();
if (n < 8) {
return false;
}
boolean f1 = false, f2 = false, f3 = false, f4 = false;
for (char c : s.toCharArray()) {
if (c <= 'Z' && c >= 'A' && !f1) {
f1 = true;
} else if (c <= 'z' && c >= 'a' && !f2) {
f2 = true;
} else if (c <= '9' && c >= '0' && !f3) {
f3 = true;
} else if (set.contains(c)) {
f4 = true;
}
}
if (!(f1 && f2 && f3 && f4)) {
return false;
}
if (n > 2) {
for (int i = 0; i < n - 2; i++) {
String sub = s.substring(i, i + 3);
if ((sub.charAt(2) - sub.charAt(1) == sub.charAt(1) - sub.charAt(0))
&& (sub.charAt(2) <= '9' && sub.charAt(2) >= '0')
&& (sub.charAt(1) <= '9' && sub.charAt(1) >= '0')
&& (sub.charAt(0) <= '9' && sub.charAt(0) >= '0')) {
return false;
}
}
}
if (n > 2) {
for (int i = 0; i < n - 2; i++) {
String sub = s.substring(i, i + 3);
if ((sub.charAt(2) - sub.charAt(1) == 1 && sub.charAt(1) - sub.charAt(0) == 1)
&& (((sub.charAt(2) <= 'Z' && sub.charAt(2) >= 'A')
&& (sub.charAt(1) <= 'Z' && sub.charAt(1) >= 'A')
&& (sub.charAt(0) <= 'Z' && sub.charAt(0) >= 'A'))
|| ((sub.charAt(2) <= 'z' && sub.charAt(2) >= 'a')
&& (sub.charAt(1) <= 'z' && sub.charAt(1) >= 'a')
&& (sub.charAt(0) <= 'z' && sub.charAt(0) >= 'a')))) {
return false;
}
}
}
if (s.indexOf("password") != -1) {
return false;
}
if (s.indexOf("admin") != -1) {
return false;
}
if (s.indexOf("qwerty") != -1) {
return false;
}
if (s.indexOf("hello") != -1) {
return false;
}
if (s.indexOf("iloveyou") != -1) {
return false;
}
if (s.indexOf("112233") != -1) {
return false;
}
return true;
}
}
```
查看原帖
点赞 1
相关推荐
03-19 17:53
武汉大学 算法工程师
暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。
卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 父母问你工作找得怎么样,怎么回 #
8021次浏览 115人参与
# 面试被问期望薪资时该如何回答 #
389519次浏览 2176人参与
# 厦门银行科技岗值不值得投 #
19627次浏览 427人参与
# 哪些公司面试还在问八股? #
3675次浏览 43人参与
# 想从事Agent应该学习哪些技术? #
1604次浏览 49人参与
# 从投递到OC,你用了多久 #
8149次浏览 74人参与
# 有哪些公司在面试时考察AICoding? #
2923次浏览 40人参与
# 什么人最适合大厂? #
4129次浏览 37人参与
# 你的秋招第一面感觉怎么样 #
146683次浏览 821人参与
# HR面都在聊什么? #
2729次浏览 42人参与
# AI时代还有必要刷leetcode吗? #
1686次浏览 28人参与
# 哪一刻你突然觉得实习“有点值了” #
6802次浏览 52人参与
# 你觉得机械有必要实习吗 #
82124次浏览 515人参与
# kpi面有什么特征 #
106060次浏览 504人参与
# 硬件人的简历怎么写 #
341233次浏览 3120人参与
# 一人一道大厂面试题 #
133023次浏览 1331人参与
# 总结:哪家公司最喜欢泡池子 #
171533次浏览 618人参与
# 四大天坑是哪四家? #
113786次浏览 246人参与
# 计算机有哪些岗位值得去? #
395143次浏览 2925人参与
# 哪些公司一直卡在简历筛选 #
109802次浏览 383人参与
# 我的求职进度条 #
1002733次浏览 6713人参与
