Jewels and Stones leetcode java solution
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
andstones
consist of only English letters.- All the characters of
jewels
are unique.
Solution:
class Solution {
public int numJewelsInStones(String jewels, String stones) {
int count=0;
for(int i=0; i<jewels.length(); i++)
{
for(int j=0; j<stones.length(); j++)
{
if(jewels.charAt(i)==stones.charAt(j))
{
count++;
}
}
}
return count;
}
}
Time complexity : len(jewels)*len(stones)
Solution:
public int numJewelsInStones(String jewels, String stones)
{
int count=0;
ArrayList<Character> list=new ArrayList<>();
for(int i=0; i<jewels.length(); i++)
{
list.add(jewels.charAt(i));
}
for(int i=0; i<stones.length(); i++)
{
if(list.contains(stones.charAt(i)))
{
count++;
}
}
return count;
}
Time complexity : len(jewels+stones)
0 Comments