45 / 205
LeetCode · EasyOson10 ball· ~5 daqiqa

Jewels and Stones

Sizga qimmatbaho toshlar turlarini ifodalovchi jewels satri va o'zingizda bor bo'lgan toshlarni ifodalovchi stones satri berilgan. stones satridagi har bir belgi sizdagi bir dona toshni ifodalaydi. jewels satridagi belgilar esa qimmatbaho toshlarni. Katta va kichik harflar farq qiladi (masalan, 'a' va 'A' har xil toshlar hisoblanadi).

Sizdagi toshlar ichida nechtasi qimmatbaho tosh (jewel) ekanligini qaytaring.

example.go
func solve(jewels string, stones string) int {
    // ...
}

Misollar

kod
Input: jewels = "aA", stones = "aAAbbbb"
Output: 3
Tushuntirish: jewels = 'a' va 'A'. stones = "aAAbbbb" ichida bitta 'a' va ikkita 'A' bor. Jami 3 ta.
kod
Input: jewels = "z", stones = "ZZ"
Output: 0
kod
Input: jewels = "", stones = "abc"
Output: 0
kod
Input: jewels = "abc", stones = "aabbccd"
Output: 6

Maslahatlar

  1. jewels satridagi belgilarni tez tekshirish uchun set (yoki boolean massiv) tuzib olish qulay.
  2. Avval jewels harflarini set'ga joylang, so'ngra stones satridagi har bir belgi shu set'da bor-yo'qligini tekshirib, mos kelganlarni sanang.