演算法實現之寶石與石頭
題目描述:
給定字串
J
代表石頭中寶石的型別,和字串S
代表你擁有的石頭。S
中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。
J
中的字母不重複,J
和S
中的所有字元都是字母。字母區分大小寫,因此"a"
和"A"
是不同型別的石頭。
示例 1:
輸入:
J = "aA", S = "aAAbbbb"
輸出:3
示例 2:
輸入:
J = "z", S = "ZZ"
輸出:0
C++實現
class Solution {
public:
int numJewelsInStones(string J, string S) {
int index = 0;
for (int i = 0; i < J.length(); i++) {
for (int j = 0; j < S.length(); j++) {
if (J[i] == S[j])
index++;
}
}
return index;
}
};
Java實現
public class Solution {
public int numJewelsInStones (String J, String S) {
int index = 0;
for (int i = 0; i < J.length(); i++) {
for (int j = 0; j < S.length(); j++) {
if (J.charAt(i) == S.charAt(j))
index++;
}
}
return index;
}
}
時間複雜度為O(n^2)