【发布时间】:2017-07-04 09:07:04
【问题描述】:
提前道歉,因为我对这里发生的事情大致一无所知,但这似乎是要问的地方......
我希望从速记键盘生成所有可能的单个同时笔划: https://en.wikipedia.org/wiki/Stenotype#Keyboard_layout
速记键盘包含 23 个键 - 主要的 22 个:
STKPWHRAO*EUFRPBLGTSDZ
如果不包含任何 AO*EU 键,则使用连字符代替它们,因此该序列的所有排列也是必要的:
STKPWHR-FRPBLGTSDZ
第 23 个键是数字栏,它改变了一些键,因此这些键的排列虽然是分开的,但也会有所帮助:
#12K3W4RAT50*EU6R7B8G9SDZ
#12K3W4R-6R7B8G9SDZ
在单个同时击键中,任何键将始终按上述顺序被识别;它们要么被选中,要么被忽略。例如,如果包含“Z”,它将始终是任何排列的最后一个键。我正在尝试生成所有潜在的排列,包括单个键的排列。
键盘中间的连字符或星号有助于区分键盘两侧的键(S、T、P、R)。例如,对于单个键,您将列出键盘左侧的“T-”和键盘右侧的“-T”。键盘的整个左岸将是“STKPWHR-”;整个右岸将是“-FRPBLGTSDZ”。
我天真地假设有一种简单的方法可以在线生成它,但是……我以前错了。据我所知,主要障碍似乎是让角色按顺序排列。我可以轻松删除任何重复项,这四个序列中会有很多重复项。
即使涉及 23 个键中的 10 个键的排列也会有很大的帮助;很少会同时使用 15 个或更多键。
非常感谢任何帮助!
【问题讨论】:
-
您在寻找什么输出,包含所有组合的文本文件?您是否要考虑“不可能”的组合(允许-SD、-TZ 的费城转变?)或者您只是想要基于您可以与每一侧进行的组合数量的计数/统计数据以及类似的东西?跨度>
标签: keyboard permutation