MAY CHALLENGE~ LEETCODE/DAY- 2/

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

Note:

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

//solution using HASh MAP

//O(n) time,O(n) extra space

class Solution {
public:
int numJewelsInStones(string J, string S) {


unordered_set<char>mp;
for(int i=0;i<J.size();i++)
{
mp.insert(J[i]);
}
int count=0;
for(int p=0;p<S.size();p++)
{
if(mp.find(S[p])!=mp.end())
{
count++;
}
}
return count;

}
};

Being✖ Becoming ✔ ☻