Skip to content

Latest commit

 

History

History

0771-jewels-and-stones

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Problem Description

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

Solution

public int numJewelsInStones(String J, String S) {
    int[] frequency = new int[128];
    int ans = 0;
    
    for (int i = 0; i < S.length(); i++) {
        frequency[S.charAt(i)]++;
    }
    
    for (int i = 0; i < J.length(); i++) {
        ans += frequency[J.charAt(i)];
    }
    
    return ans;
}

This is only for discussion and communication. Please don't use this for submission of assignments.