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 andJ will consist of letters and have length at most 50.- The characters in
J are distinct.
想法如下
- 用個 HashSet 把 J 存起來,然後歷遍 S 檢查有幾個字元是在 HashSet 裡面
Java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Solution { | |
public int numJewelsInStones(String J, String S) { | |
HashSet<Character> set = new HashSet<>(); | |
for(char c : J.toCharArray()) { | |
set.add(c); | |
} | |
int ans = 0; | |
for(char c : S.toCharArray()) { | |
if(set.contains(c)) { | |
++ans; | |
} | |
} | |
return ans; | |
} | |
} |
沒有留言:
張貼留言