我的程序中有多个选择菜单,如下所示:
Which option do you want? (choose one)
f: First option
s: Second option
t: Third option
用户然后按f
,s
或t
进行选择。在这个例子中,我手动选择了字母,这应该是显而易见的。
但在某些情况下存在冲突:假设我有Fourth option
- 我无法使用f
。明智的选择包括F
,h
和其他,取决于用户体验的哲学。
是否有算法在给定字符串列表的情况下生成唯一的助记符字母以识别每个字符串?通过" mnemonic",我的意思是该选项应该建议字母(如我的例子中所示),这样很容易记住哪个是哪个(而不是只是将所有内容映射到a,b,c或x,y,z)。
正如我上面提到的,根据你的喜好,有多种方法可以做到这一点:大写字母,第一个单词中的字母,次要独特单词的字母等。对于这个问题,我真的不是关心这些,所以请随意使用自己的规则 - 只要算法产生合理的用户友好结果。
答案 0 :(得分:1)
我见过的基线算法如下:
当然,您可以进行调整:
您的终端/操作系统惯例是否区分大写和小写?你可以在第2步之后和第3步之前使用它(如果没有剩下的字母可以使用,请使用大写字母)。
你可以使用和检测 alt , ctrl , win ?
是否有预先指定的快捷方式需要维护(例如 s 保存)?在第一步之前分配它们。