<p>不确定您所面临的问题,这将通过:</p>
<pre><code>class Solution:
def uniqueMorseRepresentations(self, words):
morse_map = [".-", "-...", "-.-.", "-..", ".", "..-.", " .", "....", "..", ". -", "-.-", ".-..", " ",
"-.", " -", ". .", " .-", ".-.", "...", "-", "..-", "...-", ". ", "-..-", "-. ", " .."]
return len({''.join(morse_map[ord(char) - 97] for char in word) for word in words})
</code></pre>
<p>97是<code>ord('a')</code>:</p>
<pre><code>class Solution:
def uniqueMorseRepresentations(self, words):
morse_map = [".-", "-...", "-.-.", "-..", ".", "..-.", " .", "....", "..", ". -", "-.-", ".-..", " ",
"-.", " -", ". .", " .-", ".-.", "...", "-", "..-", "...-", ". ", "-..-", "-. ", " .."]
return len({''.join(morse_map[ord(char) - ord('a')] for char in word) for word in words})
</code></pre>
<p>我在您的解决方案中没有看到<code>return</code>语句或<code>set()</code>。有两个简单的步骤:</p>
<ul>
<li>将访问的转换添加到集合中</li>
<li>返回集合的长度</li>
</ul>
<hr/>
<p>如果您感兴趣,这里还有一个使用哈希集的Java版本(类似于Python中的<code>set()</code>):</p>
<pre><code>public final class Solution {
public static final int uniqueMorseRepresentations(
final String[] words
) {
final String[] morseMap = {".-", "-...", "-.-.", "-..", ".", "..-.", " .", "....", "..", ". -", "-.-", ".-..", " ", "-.", " -", ". .", " .-", ".-.", "...", "-", "..-", "...-", ". ", "-..-", "-. ", " .."};
Set<String> transformations = new HashSet<>();
for (String word : words) {
StringBuilder transformation = new StringBuilder();
for (int index = 0; index < word.length(); index++)
transformation.append(morseMap[word.charAt(index) - 97]);
transformations.add(transformation.toString());
}
return transformations.size();
}
}
</code></pre>
<hr/>
<h2>参考资料</h2>
<ul>
<li>有关更多详细信息,请参见<a href="https://leetcode.com/problems/unique-morse-code-words/discuss/" rel="nofollow noreferrer">Discussion Board</a>,在那里您可以找到大量解释良好的、具有各种<a href="https://support.leetcode.com/hc/en-us/articles/360011833974-What-are-the-environments-for-the-programming-languages-" rel="nofollow noreferrer">languages</a>的公认解决方案,包括低复杂度算法和渐近<a href="https://en.wikipedia.org/wiki/Time_complexity" rel="nofollow noreferrer">runtime</a>/<a href="https://en.wikipedia.org/wiki/Space_complexity" rel="nofollow noreferrer">memory</a>分析<sup><a href="https://en.wikipedia.org/wiki/Big_O_notation" rel="nofollow noreferrer">1</a>,<a href="https://en.wikipedia.org/wiki/Analysis_of_algorithms" rel="nofollow noreferrer">2</a></sup></李>
</ul>