做网站建设分哪些类型,移动端网页设计图片,重庆旅游网站建设,怎么把产品卖到国外去目录 一、井字棋
#xff08;1#xff09;原题再现
#xff08;2#xff09;问题分析
#xff08;3#xff09;完整代码 二、密码强度等级
#xff08;1#xff09;原题再现
#xff08;2#xff09;问题分析
#xff08;3#xff09;完整代码 一、井字棋 1原题再现
2问题分析
3完整代码 二、密码强度等级
1原题再现
2问题分析
3完整代码 一、井字棋 1原题再现 井字棋_牛客题霸_牛客网 描述 给定一个二维数组board代表棋盘其中元素为1的代表是当前玩家的棋子0表示没有棋子-1代表是对方玩家的棋子。当一方棋子在横竖斜方向上有连成排的及获胜及井字棋规则返回当前玩家是否胜出。 测试样例 [[1,0,1],[1,-1,-1],[1,-1,0]] 返回true 2问题分析 这道题很简单只是到入门题只需要用for循环把所有情况列出来即可。 3完整代码 import java.util.*;
public class Board {public boolean checkWon(int[][] board) {// write code hereint cow board.length;int lis board[0].length;int cnt 0;for (int i 0; i cow; i) { //求行符合的情况cnt 0;for (int j 0; j lis; j) {if (board[i][j] 1) {cnt;}}if (cnt lis) {return true;}}for (int i 0; i lis; i) { //求列符合的情况cnt 0;for (int j 0; j cow; j) {if (board[i][j] 1) {cnt;}}if (cnt cow) {return true;}}for (int i 0; i cow; i) { //求对角线符合的情况for (int j 0; j lis; j) {if (i j board[i][j] 1) {cnt;}}if (cnt cow) {return true;}}for (int i 0; i cow; i) { //求对角线符合的情况for (int j 0; j lis; j) {if (i j cow - 1 board[i][j] 1) {cnt;}}if (cnt cow) {return true;}}return false;}
} 二、密码强度等级 1原题再现 密码强度等级__牛客网 密码按如下规则进行计分并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 密码里的字母全都是小大写字母 20 分: 密码里的字母符合”大小写混合“ 三、数字: 0 分: 没有数字 10 分: 1 个数字 20 分: 大于1 个数字 四、符号: 0 分: 没有符号 10 分: 1 个符号 25 分: 大于1 个符号 五、奖励只能选符合最多的那一种奖励: 2 分: 字母和数字 3 分: 字母、数字和符号 5 分: 大小写字母、数字和符号 最后的评分标准: 90: 非常安全 80: 安全Secure 70: 非常强 60: 强Strong 50: 一般Average 25: 弱Weak 0: 非常弱Very_Weak 对应输出为 VERY_SECURE SECURE VERY_STRONG STRONG AVERAGE WEAK VERY_WEAK 请根据输入的密码字符串进行安全评定。 注 字母a-z, A-Z 数字0-9 符号包含如下 (ASCII码表可以在UltraEdit的菜单view-ASCII Table查看) !#$%()*,-./ (ASCII码0x21~0x2F) :;? (ASCII码0x3A~0x40) [\]^_ (ASCII码0x5B~0x60) {|}~ (ASCII码0x7B~0x7E) 2问题分析 这题看似复杂其实只要根据要求一个一个去解决还是很容易的。注意每种情况不要遗漏。 3完整代码 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.next();int sum len(str) letters(str) nums(str) signs(str) rewards(str);if (sum 90) {System.out.println(VERY_SECURE);} else if (sum 80 sum 90) {System.out.println(SECURE);} else if (sum 70 sum 80) {System.out.println(VERY_STRONG);} else if (sum 60 sum 70) {System.out.println(STRONG);} else if (sum 50 sum 60) {System.out.println(AVERAGE);} else if (sum 25 sum 50) {System.out.println(WEAK);} else {System.out.println(VERY_WEAK);}}private static int len(String str) {int l str.length();if (l 4) {return 5;} else if (l 5 l 7) {return 10;} else {return 25;}}private static int letters(String str) {int flagUpper 0;int flagLower 0;for (int i 0; i str.length(); i) {if (str.charAt(i) Z str.charAt(i) A) {flagUpper 1;}if (str.charAt(i) z str.charAt(i) a) {flagLower 1;}}if (flagUpper 1 flagLower 1) {return 20;}if ((flagUpper 1 flagLower 0) || (flagUpper 0 flagLower 1)) {return 10;}return 0;}private static int nums(String str) {int numCount 0;for (int i 0; i str.length(); i) {if (str.charAt(i) 9 str.charAt(i) 0) {numCount;}}if (numCount 1) {return 20;}if (numCount 1) {return 10;}return 0;}private static int signs(String str) {int signCount 0;for (int i 0; i str.length(); i) {if ((str.charAt(i) 0x2F str.charAt(i) 0x21) ||(str.charAt(i) 0x40 str.charAt(i) 0x3A) || (str.charAt(i) 0x60 str.charAt(i) 0x5B) || (str.charAt(i) 0x7E str.charAt(i) 0x7B)) {signCount;}}if (signCount 1) {return 25;}if (signCount 1) {return 10;}return 0;}private static int rewards(String str) {int letter letters(str);int num nums(str);int sign signs(str);if (num 10 letter 10 sign 0) {return 2;}if (num 10 letter 10 sign 0) {return 3;}if (num 10 letter 20 sign 0) {return 5;}return 0;}
}