89 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Strong Password Checker II

Sizga password satri berilgan. Agar u quyidagi barcha shartlarga mos kelsa true aks holda false qaytaring:

  1. Kamida 8 ta belgidan iborat bo'lishi kerak.
  2. Kamida bitta kichik ingliz harfi bo'lishi kerak.
  3. Kamida bitta katta ingliz harfi bo'lishi kerak.
  4. Kamida bitta raqam bo'lishi kerak.
  5. Kamida bitta maxsus belgi bo'lishi kerak: !@#$%^&*()-+
  6. Hech qanday ikkita ketma-ket belgilar bir xil bo'lmasligi kerak (masalan, "aab" yaroqsiz).
example.go
func solve(password string) bool {
    // ...
}

Misollar

kod
Input: password = "IloveLe3tcode!"
Output: true
Tushuntirish: Parol barcha xavfsizlik talablariga javob beradi.
kod
Input: password = "Me+You--IsMyDream"
Output: false
kod
Input: password = "1aB!"
Output: false

Maslahatlar

  1. Har bir shartni alohida bayroq (flag) sifatida kuzatib, satrni faqat bir marta aylanib chiqish orqali barchasini birdan tekshirish mumkin.
  2. Satr bo'ylab yurib har bir belgi turini (kichik, katta, raqam, maxsus belgi) aniqlab mos bayroqni true qiling, shu bilan birga joriy belgi oldingisi bilan bir xil emasligini tekshiring; oxirida uzunlik shartini va barcha bayroqlarni birga tekshiring.