Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Trang sức và đá trong Python


Cho chuỗi J biểu diễn các loại trang sức (chữ cái), chuỗi S biểu diễn các viên đá. Đếm số đá trong S cũng là trang sức. Phân biệt chữ hoa/thường. Ví dụ: J = "aZc", S = "catTableZebraPicnic" → 7 trang sức.

Giải pháp

Chuyển J thành tập hợp (dictionary) để tra cứu O(1). Duyệt S, nếu ký tự có trong J thì tăng đếm.

Ví dụ

Triển khai Python:

class Solution(object): 
    def numJewelsInStones(self, J, S): 
        jewels = {} 
        for i in J: 
            jewels[i] = 1 
        number = 0 
        for i in S: 
            if i in jewels: 
                number+=1 
        return number 
ob1 = Solution() 
print(ob1.numJewelsInStones("aZc", "catTableZebraPicnic"))

Đầu vào

"aZc" "catTableZebraPicnic"

Đầu ra

7