我正在准备面试,往往会出现的问题之一是:
呈现一个句子(例如,这首歌是最好的歌曲)分解成单词和单词第一个字母的索引,即“the” - 0、12;“歌曲” - 4,21;“是” - 9; “最佳” - 16;选择一个数据结构来存储这些信息,并使用该数据结构重构句子。
我最初的尝试涉及将单词存储在哈希图中,其中键是单词,值是位置数组。这是完全可行的,但是对于嵌套的 for 循环和边界索引处的烦人问题、在适当位置的空间中读取等会变得相当复杂。
我已经为它完成了代码,所以如果有人想看,我会发布(它很长,读起来很吸引人!!)
无论如何,对于我的问题:任何人都可以提出一种更有效的方式来表示和重建数据吗?我很想尝试另一种方式,但这就是我迄今为止想出的全部