281、宝石与石头

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

字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。

  

示例 1

输入:jewels = "aA", stones = "aAAbbbb"

输出:3

示例 2

输入:jewels = "z", stones = "ZZ"

输出:0

  

提示:

1 <= jewels.length, stones.length <= 50

jewels 和 stones 仅由英文字母组成

jewels 中的所有字符都是 唯一的

来源:力扣(LeetCode)

链接:https://leetcode-cn.com/problems/jewels-and-stones

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

package cn.fansunion.leecode.string;

/**

 * 771. 宝石与石头

 * <p>

 *  给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。

 * <p>

 *  stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

 * <p>

 *

 * 字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。

 * <p>

 *

 * 来源:力扣(LeetCode) 链接:力扣 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 *

 * @author wen.lei@brgroup.com

 *

 *         2022-3-9

 */

public class JewelsAndStones {

    /*示例 1:

     

    输入:jewels = "aA", stones = "aAAbbbb"

    输出:3

    示例 2:

     

    输入:jewels = "z", stones = "ZZ"

    输出:0

      

     

    提示:

     

    1 <= jewels.length, stones.length <= 50

    jewels 和 stones 仅由英文字母组成

    jewels 中的所有字符都是 唯一的*/

    public int numJewelsInStones(String jewels, String stones) {

        int count=0;

        for (char ch : stones.toCharArray()) {

            boolean exist=jewels.contains(String.valueOf(ch));

            if(exist) {

                count++;

            }

        }

        return count;

    }

}

package test.leecode.string;

import org.junit.Assert;

import org.junit.Test;

import cn.fansunion.leecode.string.JewelsAndStones;

/**

 * @author wen.lei@brgroup.com

 *

 *         2022-2-25

 */

public class JewelsAndStonesTest {

    @Test

    public void test() {

        JewelsAndStones test = new JewelsAndStones();

        Assert.assertEquals(3, test.numJewelsInStones("aA""aAAbbbb"));

        Assert.assertEquals(0, test.numJewelsInStones("z""ZZ"));

        Assert.assertEquals(6, test.numJewelsInStones("abcefg""abcefg123456"));

        Assert.assertEquals(0, test.numJewelsInStones("12356489""7777"));

        Assert.assertEquals(5, test.numJewelsInStones("acd123""bbbbbb22333"));

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值