题解 | #牛群智能指导系统#

牛群智能指导系统

https://www.nowcoder.com/practice/94e01098fe8f4941ba90fb64ab2d7025

题目考察的知识点:字符串分割

题目解答方法的文字分析:先将字符串plan分割,然后用map,一个字符对应一个字符串,如果不同就返回false。

本题解析所用的编程语言

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param pattern string字符串 
     * @param plan string字符串 
     * @return bool布尔型
     */
    vector<string> stringtok(string plan)
    {
        vector<string> v;
        char* str = new char[plan.size() + 1];
        strcpy(str, plan.c_str());
        char* pch = strtok(str, " ");;
        while (pch != NULL)
        {
            v.push_back(string(pch));
            pch = strtok(NULL, " ");
        }
        return v;
    }
    bool isValidPattern(string pattern, string plan) {
        // write code here
        vector<string> v = stringtok(plan);
        if (pattern.size() != v.size())
            return false;
        map<char, string> map;
        for (int i = 0; i < v.size(); ++i)
        {
            auto it = map.find(pattern[i]);
            if (it == map.end())
                map.insert(pair(pattern[i], v[i]));
            else  
                if (it->second != v[i])
                    return false;
        }
        
        return true;
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:20
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
06-25 16:25
梧州学院 Java
愿汐_:项目介绍那么长,然而你做了啥就一句话?
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务