Leetcode Unique Word Abbreviation
来源:互联网 发布:论文查重软件免费 编辑:程序博客网 时间:2024/05/18 01:16
An abbreviation of a word follows the form <first letter><number><last letter>. Below are some examples of word abbreviations:
a) it --> it (no abbreviation) 1b) d|o|g --> d1g 1 1 1 1---5----0----5--8c) i|nternationalizatio|n --> i18n 1 1---5----0d) l|ocalizatio|n --> l10n
Assume you have a dictionary and given a word, find whether its abbreviation is unique in the dictionary. A word's abbreviation is unique if no other word from the dictionary has the same abbreviation.
Example:
Given dictionary = [ "deer", "door", "cake", "card" ]isUnique("dear") ->false
isUnique("cart") ->true
isUnique("cane") ->false
isUnique("make") ->true
Difficulty: Easy
Use two hashmaps to implement
public class ValidWordAbbr { HashMap<String, Integer> dict = new HashMap<String, Integer>(); HashMap<String, Integer> abb = new HashMap<String, Integer>(); public ValidWordAbbr(String[] dictionary) { for(String s : dictionary){ dict.put(s, 1); if(s.length() >= 2){ String ab = s.charAt(0) + String.valueOf(s.length() - 2) + s.charAt(s.length() - 1); if(!abb.containsKey(ab)){ abb.put(ab, 1); } else{ abb.put(ab, abb.get(ab) + 1); } } } } public boolean isUnique(String word) { if(word.length() == 0) return true; if(word.length() == 1) return true; String s = word.charAt(0) + String.valueOf(word.length() - 2) + word.charAt(word.length() - 1); if(dict.containsKey(word) && abb.get(s) >= 2){ return false; } if(dict.containsKey(word) && abb.get(s) == 1){ return true; } if(abb.containsKey(s)){ return false; } return true; }}// Your ValidWordAbbr object will be instantiated and called as such:// ValidWordAbbr vwa = new ValidWordAbbr(dictionary);// vwa.isUnique("Word");// vwa.isUnique("anotherWord");
0 0
- *LeetCode-Unique Word Abbreviation
- Leetcode Unique Word Abbreviation
- leetcode 288: Unique Word Abbreviation
- [leetcode 288] Unique Word Abbreviation
- LeetCode 256. Unique Word Abbreviation
- LeetCode 288. Unique Word Abbreviation
- LeetCode 题解(256) : Unique Word Abbreviation
- [leetcode] 288. Unique Word Abbreviation 解题报告
- [Leetcode 411]Minimum Unique Word Abbreviation
- [Leetcode] 288. Unique Word Abbreviation 解题报告
- [LeetCode288]Unique Word Abbreviation
- Unique Word Abbreviation
- Unique Word Abbreviation
- 288. Unique Word Abbreviation
- 288. Unique Word Abbreviation
- LeetCode 288. Unique Word Abbreviation(单词缩写)
- [Leetcode] 411. Minimum Unique Word Abbreviation 解题报告
- 【Leetcode】408. Valid Word Abbreviation
- Leetcode LRU Cache
- Ubuntu开发android
- SortedNamePrice队列引入解法不节省内存解法代码实现
- Github 使用
- iOS 【快速集成QQ表情键盘】
- Leetcode Unique Word Abbreviation
- iOS 【Runtime 初理解】
- Ruby中的各种方法定义和调用(函数式方法|实例方法|类方法)
- Leetcode Summary Ranges
- Leetcode Perfect Squares
- iOS 【UIKit-方法- (void)loadView; 的详解】
- JAVA中的static关键字
- 如何从官网下载 Google Chrome 离线安装包
- Navicat 导入sql脚本文件