該題Jewels and Stones的題目如下所示,想要從S矩陣中找出有幾個J矩陣的元素,範例1中,有一個J矩陣中有a以及A的元素,在給定一個S矩陣,該例子中,S矩陣中共有1a以及2A,因此輸出為3,範例2中,J矩陣的元素為z,而S矩陣的元素為ZS矩陣中完全沒有包含J矩陣的元素,因此輸出為0

Example 1:

Input: J = "aA", S = "aAAbbbb"
Output: 3

Example 2:

Input: J = "z", S = "ZZ"
Output: 0

作法解析:宣告一個set型態,並將J矩陣的元素放入其中,若S矩陣中有J矩陣之元素,即進行計數。

程式碼:

 
public:
    int numJewelsInStones(string J, string S) {
        
        int ans = 0;
        set<char> m(J.begin(), J.end());
        
        for (int i = 0; i < S.size(); i++)
        {
            if (m.count(S[i]))
                ans++;
        }
        return ans;
    }
};

1.宣告set,並將J矩陣元素放入其中 set<char> m(J.begin(), J.end());

2.判斷S矩陣中是否包含J矩陣之元素 if (m.count(S[i]))

arrow
arrow

    水面上的小草 發表在 痞客邦 留言(0) 人氣()