-
Notifications
You must be signed in to change notification settings - Fork 0
/
jewelsAndStones.py
49 lines (35 loc) · 1.2 KB
/
jewelsAndStones.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
'''
You're given strings jewels representing the types of stones that are jewels,
and stones representing the stones you have. Each character in stones is a type of stone you have.
You want to know how many of the stones you have are also jewels.
Letters are case sensitive, so "a" is considered a different type of stone from "A".
Example 1:
Input: jewels = "aA", stones = "aAAbbbb"
Output: 3
Example 2:
Input: jewels = "z", stones = "ZZ"
Output: 0
Constraints:
1 <= jewels.length, stones.length <= 50
jewels and stones consist of only English letters.
All the characters of jewels are unique.
'''
def numJewelsInStones(self, jewels: str, stones: str) -> int:
# Solution using Hash Map
# time complexity = O(N*M) and space complexity = O(N)
# stones_list = {}
# isJewel = 0
# for stone in stones:
# if stone in stones_list:
# stones_list[stone] += 1
# else:
# stones_list[stone] = 1
# for j in range(len(jewels)):
# if jewels[j] in stones_list:
# isJewel += stones_list[jewels[j]]
# return isJewel
isJewel = 0
for stone in stones:
if stone in jewels:
isJewel += 1
return isJewel