本文正在参与掘金团队号上线活动,点击 查看大厂春招职位
一,题目描述
给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。
输入: J = "aA", S = "aAAbbbb"
输出: 3
二,思路分析
1.首选传入的为字符串,作对比的话都转换为数组(split)
2.转换为字符串后通过双层循环实现对比
3.设置num 符合条件则+1
三,AC
var numJewelsInStones = function(jewels, stones) {
let jArr = jewels.split('')
let sArr = stones.split('')
let num = 0
for(let i=0; i<jArr.length; i++){
for(let j=0; j<sArr.length; j++){
if(sArr[j] == jArr[i]) num++
}
}
return num
};
四,总结
双层循环注意length的获取