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

密码验证合格程序

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

package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		str := scanner.Text()
		if len(str) <= 8 {
			fmt.Printf("NG\n")
			continue
		}

		if strings.Contains(str, " ") || strings.Contains(str, "\n") {
			fmt.Printf("NG\n")
			continue
		}

		var duplicate = false
		for i := 0; i < len(str)-3; i++ {
			if strings.Contains(str[i+3:], str[i:i+3]) {
				fmt.Printf("NG\n")
				duplicate = true
				break
			}
		}
		if duplicate {
			continue
		}

		var counts = [4]int{0}
		for _, char := range str {
			if char >= 'a' && char <= 'z' {
				counts[0]++
			} else if char >= 'A' && char <= 'Z' {
				counts[1]++
			} else if char >= '0' && char <= '9' {
				counts[2]++
			} else {
				counts[3]++
			}
		}

		var diff int
		for _, val := range counts {
			if val > 0 {
				diff++
			}
		}

		if diff >= 3 {
			fmt.Printf("OK\n")
			continue
		} else {
			fmt.Printf("NG\n")
			continue
		}
	}
}

全部评论

相关推荐

allin秋招的大菠萝很爱交友:后续,已拿offer ~查看图片
点赞 评论 收藏
分享
03-26 22:55
门头沟学院 Java
烤冷面在迎接:河南byd,应该就是郑大了。不过24届计算机是特殊情况,那年除了九✌和强2,以及两三个关系够硬的双非,其他的都是炮灰,感觉是十几年来互联网行业最烂的一年,如果想了解最新的就业情况,得找现在的大四。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务