题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        while(in.hasNextLine()){
            String s = in.nextLine();
            
            if(s.length() < 8){
                System.out.println("NG");
            }else{

                boolean b1 = false;
                boolean b2 = false;
                boolean b3 = false;
                boolean b4 = false;
                int cnt = 0;

                char[] arr = s.toCharArray();
                for(char c : arr){
                    if(c >= 'a' && c <= 'z'){
                        b1 = true;
                    }else if(c >= 'A' && c <= 'Z'){
                        b2 = true;    
                    }else if(c >= '0' && c <= '9'){
                        b3 = true;
                    }else{
                        b4 = true;
                    }
                }

                if(b1){
                    cnt++;
                }

                if(b2){
                    cnt++;
                }

                if(b3){
                    cnt++;
                }

                if(b4){
                    cnt++;
                }

                if(cnt < 3){
                    System.out.println("NG");
                }else{
                    int cnt2 = 0;
                    for(int i = 0; i < s.length() - 3; i++){
                        boolean b = true;
                        for(int j = 3; j < s.length() -3 - i; j++){
                            String s1 = s.substring(i, i + j);
                            String s2 = s.substring(i + j);


                            if(s1.length() > s2.length()){
                                if(s1.contains(s2)){
                                    System.out.println("NG");
                                    b = false;
                                }
                            }else{
                                if(s2.contains(s1)){
                                    System.out.println("NG");
                                    b = false;
                                }
                            }
                        }

                        if(!b){
                            break;
                        }

                        cnt2++;
                    }

                    if(cnt2 == s.length() - 3){
                        System.out.println("OK");
                    }
                }
            }
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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