-6

摩尔斯电码是最便宜和最流行的消息通信方式。在摩尔斯电码中,字母表中的每个字母都由一系列点和破折号表示。传统上,点通过短音符传输,破折号通过更长的音符传输,不同字母之间有停顿。英文字母的每个字母的摩尔斯电码表示如下

a .-
b -...
c -.-.
d -..
e .
f ..-.
g --.
h ....
i ..
j .---
k -.-
l .-..
m --
n -.
o ---
p .--.
q --.-
r .-.
s ...
t -
u ..-
v ...-
w .--
x -..-
y -.--
z --..

例如,让消息是-..-----.,它由三个字母组成,它可能表示 njg、dog、xmg 或 xon。

我想知道算法。据我所知,我们可以使 HashMap 将键作为点或线,并将值作为字母。但是现在我无法思考如何检查每个不同的单词形成。也许递归或动态编程可以做到这一点,但请给我算法,以便我可以开始编码。

4

1 回答 1

5

摩尔斯电码使用字母之间的停顿和单词之间的较长停顿。这就是您将它们分开的方式;您无法仅从点和划线中分辨出来。

于 2013-11-26T10:01:16.763 回答