771. 宝石与石头 | 刷题打卡

163 阅读1分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

一、题目描述

本题来自771. 宝石与石头

image.png

二、思路分析

题说的花里胡哨,就是两字字符串匹配,找交集的个数。

三、AC代码

这里有3种解法,依次是:

1.双层遍历,找交集

var numJewelsInStones = function(J, S) {
    let num = 0;
    for(let s=0; s<S.length; s++){
        for(let j=0; j<J.length; j++){
            if(S[s] == J[j]){
                num++;
            }
        }
    }
    return num;
};

2.indexOf()

var numJewelsInStones = function(J, S) {
   var a=0;
   for(var i=0;i<S.length;i++){
       if(J.indexOf(S[i])!=-1){
           a+=1;
       }
   }
   return a;
}

3.filter()

var numJewelsInStones = function(J, S) {
    let jarr = J.split("");
    let sarr = S.split("");
    return sarr.filter(item=>jarr.includes(item)).length
};

四、总结

写饿了~