leetcode 290. Word Pattern-单词模式|哈希表
2016-05-09 23:30
489 查看
原题链接:290. Word Pattern
【思路】
将 pattern 中的每个字符作为 hashmap 的 key,str 中的每个单词作为对应的 value,每次判断在 hashmap 中 pattern 所是否存在所对应的 key。如果有,说明之前 pattern 中已经有一个字符和 str 中的某个字母构成映射。如果没有,那么就要将这对映射添加到 hashmap 中,但注意在添加之前也要保证 value 值也是唯一的:
cases passed. Runtime: 2
ms Your runtime beats 70.11% of javasubmissions.
【思路】
将 pattern 中的每个字符作为 hashmap 的 key,str 中的每个单词作为对应的 value,每次判断在 hashmap 中 pattern 所是否存在所对应的 key。如果有,说明之前 pattern 中已经有一个字符和 str 中的某个字母构成映射。如果没有,那么就要将这对映射添加到 hashmap 中,但注意在添加之前也要保证 value 值也是唯一的:
public boolean wordPattern(String pattern, String str) { String[] words = str.split(" "); HashMap<Character, String> map = new HashMap<Character, String>(); HashSet<String> set = new HashSet<String>(); if (words.length != pattern.length()) return false; for (int i = 0; i < words.length; i++) { if (map.containsKey(pattern.charAt(i))) { if (!map.get(pattern.charAt(i)).equals(words[i])) { return false; } } else { if (map.containsValue(words[i])) return false; map.put(pattern.charAt(i), words[i]); } } return true; }29 / 29 test
cases passed. Runtime: 2
ms Your runtime beats 70.11% of javasubmissions.
相关文章推荐
- 工作流系统中的语法标记系统
- IC卡的传输协议(2)-块传输协议T=1续【转】
- IC卡的传输协议(2)-块传输协议T=1【转】
- 传感器网络的应用层技术
- CentOS7 安装 Java 8 以及Tomcat8
- 快速熟悉正则表达式
- Oracle临时表空间组
- 简单线性数据结构:栈和队列的实现
- 剑指Offer–041-和为S的连续正数序列
- 支付宝开发(一)
- poj 3299 Humidex
- IntelliJ IDEA 将 Maven 构建的 Java 项目打包
- IC卡的传输协议(1)-字符传输协议T=0【转】
- Linux framebuffer的介绍和使用
- (java)从零开始之--观察者设计模式Observer
- JS基础语法3(if-else语句)
- Android 9.Patch图详解
- 服务器端测试经验分享
- Java类加载器介绍
- TestNG Hello World