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

密码验证合格程序

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

import scala.io._
import java.io._
import scala.collection.mutable.ArrayBuffer

object Main {
  def main(args :Array[String]): Unit = {
    val outCapture = new ByteArrayOutputStream
    val stdout = System.out
    try {
      var line: String = null
      //包括大小写字母.数字.其它符号,以上四种至少三种
      while ({line = StdIn.readLine(); line != null}) {
        var flag = 0
        val char: Array[Char] = line.toCharArray
        if(char.length>8){
          var arr: ArrayBuffer[Int] =ArrayBuffer[Int](0,0,0,0)
          for (elem <- char) {
            if (elem >= 'a' && elem <= 'z') arr(0) += 1
            else if (elem >= 'A' && elem <= 'Z') arr(1) += 1
            else if (elem >= '0' && elem <= '9') arr(2) += 1
            else if (elem != ' ' && elem != "\n") arr(3) += 1
          }
          var count = 0
          for (elem <- arr){
            if(elem > 0) count += 1
          }
          if (count >= 3){
            for (i <- 0 to char.length - 5) {
              for (j <- (i + 3) to char.length - 3) {
                if (char(i) == char(j) && char(i + 1) == char(j + 1) && char(i + 2) == char(j + 2)){
                  flag += 1
                }
              }
            }
          } else {
            flag += 1
          }
        }else{
          flag +=1
        }
        if (flag == 0) println("OK")
        else println("NG")
      }
    } catch {
      case e: Exception => {
        System.setOut(stdout)
        e.printStackTrace
      }
    }
  }
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务