题解 | #接头密匙#

接头密匙

https://www.nowcoder.com/practice/c552d3b4dfda49ccb883a6371d9a6932

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param b int整型vector<vector<>>
     * @param a int整型vector<vector<>>
     * @return int整型vector
     */
    int tree[100005][12];
    int pass[100005];
    int cnt = 1;

    int getind(char ch)
    {
        if (ch >= '0' && ch <= '9')
        {
            return ch - '0';
        }
        else if (ch == '-')
        {
            return 10;
        }
        else if( ch == '#')
        {
            return 11;
        }
        return -1;
    }

    void insert(string s)
    {
        int t = 1;
        pass[t]++;
        for (int i = 0; i < s.size(); i++)
        {
            int curr = getind(s[i]);
            if (tree[t][curr] == 0)
            {
                tree[t][curr] = ++cnt;
            }
            t = tree[t][curr];
            pass[t]++;
        }
    }

    int count(string s)
    {
        int t = 1;
        for (int i = 0; i < s.size(); i++)
        {
            int curr = getind(s[i]);
            if (tree[t][curr] == 0)
            {
                return 0;
            }
            t = tree[t][curr];
        }
        return pass[t];
    }

    vector<int> countConsistentKeys(vector<vector<int> >& b, vector<vector<int> >& a)
    {
        for (auto v : a)
        {
            string temp;
            for (int i = 1; i < v.size(); i++)
            {
                temp += (to_string(v[i] - v[i - 1]) + '#');
            }
            insert(temp);
        }

        vector<int> ans;
        for (auto v : b)
        {
            int cs = 0;
            string temp;
            for (int i = 1; i < v.size(); i++)
            {
                temp += (to_string(v[i] - v[i - 1]) + '#');
            }

            cs += count(temp);

            ans.push_back(cs);
        }

        return ans;
    }
};

全部评论

相关推荐

谁知道呢_:要掉小珍珠了,库库学三年,这个结果
点赞 评论 收藏
分享
04-18 15:58
已编辑
门头沟学院 设计
kaoyu:这一看就不是计算机的,怎么还有个排斥洗碗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务