我正在寻找一个算法,可以接收一个字符串向量
虽然我需要接受
显然这里有三个注意点:
v1
并返回一个类似的字符串向量v2
,其中每个字符串都小于x
个字符,并且是唯一的。 v1
中的字符串可能不是唯一的。虽然我需要接受
v1
中的ASCII字符,但在需要插入新字符时,我更喜欢只插入字母数字字符([A-Za-z0-9]
)。显然这里有三个注意点:
对于某些
v1
和x
的值,可能不存在唯一的v2
。例如,当v1
有37个元素且x == 1
时。如问题所述,“相似”是主观的。这些字符串将面向用户,很可能是短的自然语言短语(例如:“颜色数量”)。我希望人们能够尽可能轻松地将原始字符串映射到缩短的字符串。这可能意味着利用启发式方法,例如disemvoweling。因为我的相似性构建可能没有客观的度量方式(字符串距离可能不是最有用的,尽管它可能是),所以我对好坏的判断是随意的。该方法应适用于英语-其他语言无关紧要。
显然,这是一个(编程)语言无关的问题,但如果使用Python实现(因为我认为它的字符串处理语言很简单),我会持积极态度。