771. Jewels and Stones
Вам даны строки jewels, представляющие типы камней, которые являются драгоценностями, и stones, представляющие камни, которые у вас есть. Каждый символ в stones является типом камня, который у вас есть. Вы хотите узнать, сколько из камней, которые у вас есть, также являются драгоценностями.
Буквы чувствительны к регистру, поэтому "a" считается другим типом камня, чем "A".
Пример:
Input: jewels = "aA", stones = "aAAbbbb"
Output: 3
C# решение
сопоставлено/оригиналpublic class Solution {
public int NumJewelsInStones(string J, string S) {
int ans = 0;
foreach (char s in S)
foreach (char j in J)
if (j == s) {
ans++;
break;
}
return ans;
}
}
C++ решение
auto-draft, проверить перед отправкой#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public int NumJewelsInStones(string J, string S) {
int ans = 0;
foreach (char s in S)
foreach (char j in J)
if (j == s) {
ans++;
break;
}
return ans;
}
}
Java решение
сопоставлено/оригиналclass Solution {
public int numJewelsInStones(String J, String S) {
int ans = 0;
for (char s : S.toCharArray())
for (char j : J.toCharArray())
if (j == s) {
ans++;
break;
}
return ans;
}
}
JavaScript решение
сопоставлено/оригиналclass Solution {
numJewelsInStones(J, S) {
let ans = 0
for (const s of S) {
for (const j of J) {
if (j === s) {
ans++
break
}
}
}
return ans
}
}
Python решение
сопоставлено/оригиналclass Solution:
def numJewelsInStones(self, J: str, S: str) -> int:
ans = 0
for s in S:
for j in J:
if j == s:
ans += 1
break
return ans
Go решение
сопоставлено/оригиналfunc numJewelsInStones(jewels string, stones string) int {
jewelSet := make(map[rune]bool)
for _, ch := range jewels {
jewelSet[ch] = true
}
count := 0
for _, ch := range stones {
if jewelSet[ch] {
count++
}
}
return count
}
Algorithm
Создайте множество из строки jewels для быстрой проверки, является ли камень драгоценностью. Это позволит эффективно проверять принадлежность каждого камня к драгоценностям.
Инициализируйте счетчик для подсчета количества камней, которые являются драгоценностями. Пройдите по каждому символу в строке stones и проверьте, содержится ли этот символ в множестве jewels.
Если символ содержится в множестве, увеличьте счетчик. В конце верните значение счетчика, которое будет количеством камней, являющихся драгоценностями.
😎
Вакансии для этой задачи
Показаны активные вакансии с пересечением по тегам задачи.