leetcode 771 宝石与石头 C语言

给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。

示例 1:

输入:

J = "aA", S = "aAAbbbb"

输出:

3

示例 2:

输入:

J = "z", S = "ZZ"

输出:

0

注意:

S和J最多含有50个字母。

J中的字符不重复。

 

C语言

int numJewelsInStones(char* J, char* S) {
    int jewel[256];
    int ans = 0;
    memset(jewel,0,sizeof(int)*256);
    while((*J)!='\0')
    {
        jewel[*J] = 1;
        J++;
    }
    while((*S)!='\0')
    {
        if(jewel[*S])
        {
            ans++;
        }
        S++;
    }
    return ans;
}

时间复杂度O(n),空间复杂度O(1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值