LeetCode-宝石与石头

宝石与石头

LeetCode-771

  • 使用哈希表。
  • 这里使用内置算法库中的map
/**
 * 给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 
 * S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
 * J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
 **/
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
#include<map>
#include<vector>
#include<set>
#include<stack>
using namespace std;
/**
 * 输入: J = "aA", S = "aAAbbbb"
 * 输出: 3
 **/
class Solution {
public:
    int numJewelsInStones(string J, string S) {
        map<char,int>ma;
        for(int i=0;i<J.length();i++){
            ma[J[i]]++;
        }
        int ans=0;
        for(int i=0;i<S.legnth();i++){
            if(ma[S[i]]){
                ans++;
            }
        }
        return ans;
    }
};
int main(){
    Solution solution;

    return 0;
}
posted @   Garrett_Wale  阅读(126)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示