zoukankan      html  css  js  c++  java
  • 771. Jewels and Stones

    这是一道字符的匹配问题,主要的思路就是两个数组各自遍历一边,使用一个unordered_map来记录第一个遍历的数组的信息,遍历第二个数组的时候统计最终的结果。

    时间复杂度为O(m + n)。

    空间复杂度为O(n)

    class Solution {
    public:
        int numJewelsInStones(string J, string S) {
            std::unordered_map<int, int> stones;
            for(int i = 0; i < S.size(); ++i){
                if(stones.count(S[i]) == 0){
                    stones[S[i]] = 1;
                } else {
                    ++stones[S[i]];
                }
            }
            
            int jewel_cnt = 0;
            for(int i = 0; i < J.size(); ++i){
                if(stones.count(J[i]) > 0){
                    jewel_cnt += stones[J[i]];
                }
            }
            return jewel_cnt;
        }
    };
    

      

  • 相关阅读:
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    动手动脑2
    动手动脑3
    每日日报
    每周总结
    Java学习
  • 原文地址:https://www.cnblogs.com/wdw828/p/11363203.html
Copyright © 2011-2022 走看看