290. Word Pattern
2016-02-10 01:25
423 查看
把str分成数组后每个pattern的字幕应该对应一个单词。
pattern =
每个单词还应该对应一个字母。用map记录字母和单词用set记录是否多个字母对应一个单词。
public class Solution {
public boolean wordPattern(String pattern, String str) {
String[]strs=str.split(" ");
if(pattern.length()!=strs.length)return false;
Map<Character,String>map=new HashMap<>();
Set<String>unique=new HashSet<>();
for(int i=0;i<pattern.length();i++){
char c=pattern.charAt(i);
if(map.containsKey(c)){
if(!map.get(c).equals(strs[i]))return false;
}
else{
if(unique.contains(strs[i]))return false;
map.put(c,strs[i]);
unique.add(strs[i]);
}
}
return true;
}
}
pattern =
"abba", str =
"dog dog dog dog"should return false.
每个单词还应该对应一个字母。用map记录字母和单词用set记录是否多个字母对应一个单词。
public class Solution {
public boolean wordPattern(String pattern, String str) {
String[]strs=str.split(" ");
if(pattern.length()!=strs.length)return false;
Map<Character,String>map=new HashMap<>();
Set<String>unique=new HashSet<>();
for(int i=0;i<pattern.length();i++){
char c=pattern.charAt(i);
if(map.containsKey(c)){
if(!map.get(c).equals(strs[i]))return false;
}
else{
if(unique.contains(strs[i]))return false;
map.put(c,strs[i]);
unique.add(strs[i]);
}
}
return true;
}
}
相关文章推荐
- HDU 4563 御剑术I(背包)
- HDU 4501 小明系列之买年货(三维背包)
- 【NYOJ】[811]变态最大值
- 1. Two Sum
- 【慕课笔记】U4 多态 第2节 多态中的引用类型转换
- 在PC端实现HTML5-geolocation的一些细节
- 选择
- GSON
- bzoj3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛
- VS2010 Error : Unable to start program Access is denied
- Notes of Python Learning 2/10/2016
- NSGAIII中的Niche preservation操作
- 上传图片或文件到服务器端
- NSGAIII中的Associate
- keepalive (2)
- oracle soft 11.2.0.4 for any OS
- Redis入门很简单之八【Spring Data Redis初探】
- 朴素贝叶斯分类器
- [LeetCode] Two Sum II - Input array is sorted 两数之和之二 - 输入数组有序
- HDU 3591 (多重背包)