zoukankan      html  css  js  c++  java
  • LeetCode : Word Pattern

    Given a pattern and a string str, find if str follows the same pattern.

    Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.

    Examples:
    pattern = “abba”, str = “dog cat cat dog” should return true.
    pattern = “abba”, str = “dog cat cat fish” should return false.
    pattern = “aaaa”, str = “dog cat cat dog” should return false.
    pattern = “abba”, str = “dog dog dog dog” should return false.
    Notes:
    You may assume pattern contains only lowercase letters, and str contains lowercase letters separated by a single space

    class Solution {  
    public:  
      bool wordPattern(string pattern, string str) {  
        unordered_map<char,string> map;  
        unordered_map<string,char> map2;  
        vector<string> vec;  
        int j=0;  
        for(int i=0;i<str.size();i++){  
            if(str[i]==' '){  
                string tmp =str.substr(j,i-j);  
                vec.push_back(tmp);  
                j=i+1;  
            }  
            if(i==str.size()-1){  
                string tmp =str.substr(j,i-j+1);  
                vec.push_back(tmp);  
            }  
    
        }  
        if(pattern.size()!=vec.size())return false;  
        for(int i=0;i<pattern.size();i++){  
            if(map.find(pattern[i])==map.end()&&map2.find(vec[i])==map2.end()){  
                map.insert(make_pair(pattern[i],vec[i]));  
                map2.insert(make_pair(vec[i],pattern[i]));  
            }  
            else if(map[pattern[i]]!=vec[i]||map2[vec[i]]!=pattern[i])return false;  
    
        }  
    
        return true;  
    
    }  
    
    };  
  • 相关阅读:
    bloom filter
    【转】单实例
    Log Structured Merge Trees(LSM) 原理
    【转】南网成立始末
    变电站综合自动化系统
    bsp tree
    Private Bytes,Working Set,Virtual Size的区别
    kdtree
    asp.net下载文件几种方式
    C# FTP操作
  • 原文地址:https://www.cnblogs.com/chankeh/p/6850070.html
Copyright © 2011-2022 走看看