Skip to main content
Back to problems
#771
Easy Algorithms

Jewels and stones

Hash Table String
89.5% acceptance
Feb 21, 2026
5445
632
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".

Solution

Rust
Time O(n)
Space O(1)
LeetCode
solution.rs
/*
 * 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.
 */
impl Solution {
  pub fn num_jewels_in_stones(jewels: String, stones: String) -> i32 {
    stones.chars().filter(|c| jewels.contains(*c)).count() as i32
  }
}