leetcode千題 771 寶石與石頭

2021-10-09 22:40:51 字數 933 閱讀 8592

給定字串j 代表石頭中寶石的型別,和字串 s代表你擁有的石頭。 s 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。

j 中的字母不重複,j 和 s中的所有字元都是字母。字母區分大小寫,因此"a"和"a"是不同型別的石頭。

示例 1:

輸入: j = 「aa」, s = 「aaabbbb」

輸出: 3

示例 2:

輸入: j = 「z」, s = 「zz」

輸出: 0

注意:s 和 j 最多含有50個字母。

j 中的字元不重複。

兩個for迴圈,複雜度o(nm)

class

solution

:def

numjewelsinstones

(self, j:

str, s:

str)

->

int:

ans =

0for x in

range

(len

(s))

:for y in

range

(len

(j))

:if s[x]

== j[y]

: ans+=

1return ans

利用python中的集合,快速hash

class

solution

:def

numjewelsinstones

(self, j:

str, s:

str)

->

int:

hs =

set(j)

return

sum(s in hs for s in s)

Leetcode 771 寶石與石頭

給定字串j代表你現在擁有代表寶石的型別,和字串s代表你擁有的石頭。s中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j中的字母不重複,j和s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。def numjewelsinstones j,s i 0...

Leetcode 771 寶石與石頭

給定字串j代表石頭中寶石的型別,和字串s代表你擁有的石頭。s中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j中的字母不重複,j和s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。示例 1 輸入 j aa s aaabbbb 輸出 3示例 2 輸...

LeetCode 771 寶石與石頭

給定字串j代表石頭中寶石的型別,和字串s代表你擁有的石頭。s中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。j中的字母不重複,j和s中的所有字元都是字母。字母區分大小寫,因此 a 和 a 是不同型別的石頭。示例 1 輸入 j aa s aaabbbb 輸出 3 示例 2 ...