LeetCode Practice – 771. Jewels and Stones

      在〈LeetCode Practice – 771. Jewels and Stones〉中留言功能已關閉

https://leetcode.com/problems/jewels-and-stones/

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 and J will consist of letters and have length at most 50.
  • The characters in J are distinct.
        [TestMethod]
        public void NumJewelsInStonesTest_When_J_Is_aA_And_S_Is_aAAbbbb_Should_Be_3()
        {
            var solution = new Solution();
            var J = "aA";
            var S = "aAAbbbb";
            var actual = solution.NumJewelsInStones(J, S);
            var expected = 3;
            Assert.AreEqual(expected, actual);
        }

        [TestMethod]
        public void NumJewelsInStonesTest_When_J_Is_z_And_S_Is_ZZ_Should_Be_0()
        {
            var solution = new Solution();
            var J = "z";
            var S = "ZZ";
            var actual = solution.NumJewelsInStones(J, S);
            var expected = 0;
            Assert.AreEqual(expected, actual);
        }
     public class Solution
    {
        public int NumJewelsInStones(string J, string S)
        {
            int count = 0;
            var js = J.ToArray();

            var ss = S.ToArray();

            foreach (var j in js)
            {
                foreach (var s in ss)
                {
                    if (j == s)
                    {
                        count++;
                    }
                }
            }

            return count;
        }
    }

https://github.com/givemin5/LeetCode771JewelsAndStones

print