给你一个字符串 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 [email protected]
*
* 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;标签:stones,3600,宝石,jewels,石头,Assert,numJewelsInStones,test From: https://blog.51cto.com/fansunion/6056744
import org.junit.Assert;
import org.junit.Test;
import cn.fansunion.leecode.string.JewelsAndStones;
/**
* @author [email protected]
*
* 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"));
}
}