|
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 | }
|