|
39 | 39 | */ |
40 | 40 | publicclass_288 { |
41 | 41 |
|
42 | | -privateclassValidWordAbbr { |
| 42 | +publicclassValidWordAbbrSolution1 { |
43 | 43 | privateMap<String,String>dict; |
44 | | -publicValidWordAbbr(String[]dictionary) { |
| 44 | + |
| 45 | +publicValidWordAbbrSolution1(String[]dictionary) { |
45 | 46 | dict =newHashMap(); |
46 | | -for(Stringword :dictionary){ |
47 | | -Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length()-2) +word.charAt(word.length()-1)); |
48 | | -if(dict.containsKey(key) && !dict.get(key).equals(word)){ |
| 47 | +for(Stringword :dictionary){ |
| 48 | +Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length() -2) +word.charAt(word.length() -1)); |
| 49 | +if(dict.containsKey(key) && !dict.get(key).equals(word)){ |
49 | 50 | dict.put(key,""); |
50 | 51 | }else { |
51 | 52 | dict.put(key,word); |
52 | 53 | } |
53 | 54 | } |
54 | 55 | } |
| 56 | + |
55 | 57 | publicbooleanisUnique(Stringword) { |
56 | | -Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length()-2) +word.charAt(word.length()-1)); |
57 | | -if(!dict.containsKey(key))returntrue; |
| 58 | +Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length() -2) +word.charAt(word.length() -1)); |
| 59 | +if(!dict.containsKey(key))returntrue; |
58 | 60 | elsereturndict.get(key) !="" &&dict.get(key).equals(word); |
59 | 61 | } |
60 | 62 | } |
61 | | -} |
62 | 63 |
|
63 | | -classValidWordAbbr { |
| 64 | +publicclassValidWordAbbrSolution2 { |
64 | 65 |
|
65 | | -privateMap<String,Set<String>>dict; |
66 | | - |
67 | | -publicValidWordAbbr(String[]dictionary) { |
68 | | -dict =newHashMap(); |
69 | | -for(Stringword :dictionary){ |
70 | | -Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length()-2) +word.charAt(word.length()-1)); |
71 | | -if(dict.containsKey(key)){ |
72 | | -Set<String>set =dict.get(key); |
73 | | -set.add(word); |
74 | | -dict.put(key,set); |
75 | | - }else { |
76 | | -Set<String>set =newHashSet(); |
77 | | -set.add(word); |
78 | | -dict.put(key,set); |
| 66 | +privateMap<String,Set<String>>dict; |
| 67 | + |
| 68 | +publicValidWordAbbrSolution2(String[]dictionary) { |
| 69 | +dict =newHashMap(); |
| 70 | +for (Stringword :dictionary) { |
| 71 | +Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length() -2) +word.charAt(word.length() -1)); |
| 72 | +if (dict.containsKey(key)) { |
| 73 | +Set<String>set =dict.get(key); |
| 74 | +set.add(word); |
| 75 | +dict.put(key,set); |
| 76 | + }else { |
| 77 | +Set<String>set =newHashSet(); |
| 78 | +set.add(word); |
| 79 | +dict.put(key,set); |
| 80 | + } |
79 | 81 | } |
80 | 82 | } |
81 | | - } |
82 | 83 |
|
83 | | -publicbooleanisUnique(Stringword) { |
84 | | -Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length()-2) +word.charAt(word.length()-1)); |
85 | | -if(!dict.containsKey(key))returntrue; |
86 | | -else { |
87 | | -Set<String>set =dict.get(key); |
88 | | -if(set.size() !=1)returnfalse; |
89 | | -Iterator<String>it =set.iterator(); |
90 | | -returnit.next().equals(word); |
| 84 | +publicbooleanisUnique(Stringword) { |
| 85 | +Stringkey =word.length() <=2 ?word : (word.charAt(0) +String.valueOf(word.length() -2) +word.charAt(word.length() -1)); |
| 86 | +if (!dict.containsKey(key))returntrue; |
| 87 | +else { |
| 88 | +Set<String>set =dict.get(key); |
| 89 | +if (set.size() !=1)returnfalse; |
| 90 | +Iterator<String>it =set.iterator(); |
| 91 | +returnit.next().equals(word); |
| 92 | + } |
91 | 93 | } |
92 | 94 | } |
93 | 95 | } |