129 / 205
LeetCode · MediumO'rta20 ball· ~20 daqiqa

Maximum Number of Vowels in a Substring of Given Length

Sizga kichik ingliz harflaridan iborat s satri va butun son k berilgan. k uzunlikdagi har qanday qism-satrida mavjud bo'lishi mumkin bo'lgan maksimal unli harflar sonini qaytaring.

Unli harflar: 'a', 'e', 'i', 'o', 'u'.

example.go
func solve(s string, k int) int {
    // ...
}

Misollar

kod
Input: s = "abciiidef", k = 3
Output: 3
Tushuntirish: "iii" qism-satri 3 ta unli harfdan iborat.
kod
Input: s = "aeiou", k = 2
Output: 2
kod
Input: s = "leetcode", k = 3
Output: 2

Maslahatlar

  1. Uzunligi qat'iy k bo'lgan har bir qism-satrni qaytadan sanash shart emas — belgilangan o'lchamli oynani (fixed-size sliding window) bir pozitsiyaga siljitganda unli harflar sonining qanday o'zgarishini o'ylab ko'ring.
  2. Dastlabki k uzunlikdagi qism-satrdagi unli harflar sonini hisoblang; keyin oynani birma-bir o'ngga siljiting — har safar yangi qo'shilgan belgi unli bo'lsa hisoblagichni oshiring, oynadan chiqib ketgan belgi unli bo'lsa kamaytiring, va shu jarayonda eng katta hisoblagich qiymatini saqlab boring.