Задача «771. Драгоценности и камни» — популярная задача кодирования на LeetCode. Он включает в себя подсчет количества драгоценностей в данной цепочке камней. Вот решение на C++:
#include <unordered_set>
using namespace std;
int numJewelsInStones(string jewels, string stones) {
unordered_set<char> jewelSet;
// Add all jewels to the set
for (char jewel : jewels) {
jewelSet.insert(jewel);
}
int jewelCount = 0;
// Count the number of stones that are jewels
for (char stone : stones) {
if (jewelSet.count(stone) > 0) {
jewelCount++;
}
}
return jewelCount;
}
В этом решении мы используем unordered_setдля хранения драгоценностей. Мы перебираем строку драгоценностей и вставляем каждую драгоценность в набор. Затем мы перебираем строку камней и проверяем, присутствует ли каждый камень в наборе. Если да, мы увеличиваем jewelCount. Наконец, в качестве результата мы возвращаем jewelCount.