[LeetCode] 771. Jewels and Stones

You’re given strings J representing the types of stones that are jewels, and S representing the stones you have. Each character in S is a type of stone you have. You want to know how many of the stones you have are also jewels.

The letters in J are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so “a” is considered a different type of stone from “A”.

Example 1:

Input: J = "aA", S = "aAAbbbb"
Output: 3

Example 2:

Input: J = "z", S = "ZZ"
Output: 0


  • S and J will consist of letters and have length at most 50.
  • The characters in J are distinct.


還滿簡單的一題,連想都不太需要想。題目翻譯成白話文是這樣的,給定兩個字串 J 與 S,檢查字串 S 中有多少字元屬於字串 J。不用管它寶石還石頭啦XD

這題用暴力法逐一搜索就好了,為了改善時間複雜度,我將 J 放入HashSet 中

class Solution:
	def numJewelsInStones(self, J, S):
		J = set(J) 
		counter = [c for c in S if c in J]
		return len(counter)


class Solution:
	def numJewelsInStones(self, J, S):

[LeetCode] 解題目錄 -> 這裡走



Genymotion 模擬器安裝篇:In ubuntu14.04 LET