题目地址:
https://leetcode.com/problems/jewels-and-stones/
给定两个字符串 j j j和 s s s,问 s s s里有多少个字符是含在 j j j里的。
代码如下:
import java.util.HashSet;
import java.util.Set;
public class Solution {
public int numJewelsInStones(String jewels, String stones) {
Set<Character> set = new HashSet<>();
for (int i = 0; i < jewels.length(); i++) {
set.add(jewels.charAt(i));
}
int res = 0;
for (int i = 0; i < stones.length(); i++) {
if (set.contains(stones.charAt(i))) {
res++;
}
}
return res;
}
}
时间复杂度 O ( l j + l s ) O(l_j+l_s) O(lj+ls),空间 O ( l j ) O(l_j) O(lj)。