关注
```
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
相关推荐
11-10 22:06
上海震旦职业学院 前端工程师 点赞 评论 收藏
分享
投递网易等公司10个岗位 >
点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
476119次浏览 4867人参与
# 职场情商大赛 #
2478次浏览 37人参与
# 晒一晒我的offer #
10054824次浏览 106520人参与
# 今年形式下双非本找得到工作吗 #
53384次浏览 497人参与
# 如何排解工作中的焦虑 #
75718次浏览 1070人参与
# 面试体验感最好的是哪家? #
99681次浏览 1031人参与
# 同bg的你秋招战况如何? #
95578次浏览 732人参与
# 怎么面对正在吵架的两个同事 #
8802次浏览 72人参与
# 第一份工作应该选择高薪还是大平台 #
93409次浏览 606人参与
# 你觉得比亚迪今年还有春招吗? #
157768次浏览 951人参与
# 找工作时遇到的神仙HR #
570862次浏览 3902人参与
# Offer比较,你最看重什么? #
110293次浏览 778人参与
# 面试被问第一学历差时该怎么回答 #
80665次浏览 520人参与
# 比亚迪秋招开啦,你打算投递吗? #
38154次浏览 338人参与
# 大家每天通勤多久? #
10008次浏览 98人参与
# 求职你最看重什么? #
18120次浏览 125人参与
# 实习,投递多份简历没人回复怎么办 #
2472690次浏览 34990人参与
# 你投了多少份简历了? #
69611次浏览 824人参与
# 国企/银行/研究所公司爆料 #
92911次浏览 424人参与
# 机械人怎么评价今年的华为 #
160228次浏览 1364人参与