每日一题20201105(771. 宝石与石头)

简介: 暴力解法和hash表

暴力解法



class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        total = 0
        for j in J:
            for s in S:
                if s == j:
                    total+=1
        return total


很简单,就不多说了,依次遍历,复杂度O(N²)

hash表



class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        mp = {x: 0 for x in J}
        for s in S:
            if mp.get(s) is not None:
                mp[s] += 1
        return sum(mp.values())


  • 先创建一个map, 里面存放类型
  • 遍历字符串,如果找到了类型,则map里面的值+1
  • 累加所有map的value




相关文章
|
8月前
|
算法
算法刷题(二十二):宝石与石头
算法刷题(二十二):宝石与石头
77 0
【Leetcode -766.托普利茨矩阵 -771.宝石与石头】
【Leetcode -766.托普利茨矩阵 -771.宝石与石头】
57 0
|
3月前
|
算法
AcWing 1343. 挤牛奶(每日一题)
AcWing 1343. 挤牛奶(每日一题)
|
3月前
acwing 1098 城堡
acwing 1098 城堡
19 0
|
3月前
|
算法
AcWing 1355. 母亲的牛奶(每日一题)
AcWing 1355. 母亲的牛奶(每日一题)
|
6月前
|
人工智能
【洛谷】P2678 跳石头
洛谷 P2678 跳石头
38 0
【洛谷】P2678 跳石头
|
8月前
|
JSON 数据格式
星系炸弹(蓝桥杯)
星系炸弹(蓝桥杯)
|
8月前
洛古 P1002 过河卒
洛古 P1002 过河卒
1314:【例3.6】过河卒(Noip2002)
1314:【例3.6】过河卒(Noip2002)
157 0
|
8月前
|
算法
联想算法题-石头剪刀布
联想算法题-石头剪刀布
103 0