受此CR问题的启发 (请不要因为浏览CR而杀死我)
规格
拼错单词的可能性为:
- 1/3的时间不改变输出
- 1/3的时间删除随机字符
- 1/3的时间重复一个随机字符
对于所有字符,在输入中删除/复制给定字符的机会应相同。
如果两个连续的字符相同(区分大小写),则其中一个被修改的概率应与一个字符相同。即AA
(AA
或A
或AAA
)的输出都应具有相同的概率。
为了简单起见,输入将仅包含字母。
例子
输入第一行,随后几行都是可能的拼写错误。每行应具有相同的输出概率,示例中将输入排除在外,但仍应有1/3的输出概率。
foo
fo
oo
ffoo
fooo
PPCG
PPC
PPG
PCG
PPPCG
PPCCG
PPCGG
这是一个很好的挑战,但是如果每行的输出概率相同,这是否意味着单词保持不变的可能性不是1/3?
—
价值墨水
@ValueInk好的,这是示例的缺陷。让我修复
—
Downgoat
等一下,如果每行输出的可能性相同,那么字符分布会不均匀吗?就像,使用
—
Deusovi '16
foo
:一起删除一个字符可能会变成(-f)oo,f(-o)o和fo(-o)。所以fo
应该是的两倍oo
,但是您说每一行都有相等的概率。
@ Deusovi有整段说明,我将在这里复制以防万一
—
edc65 '16
If two consecutive characters are the same (case-sensitive), the probability of one of them being modified should be the same as if they are one character. I.e. the outputs for AA (which are AA or A or AAA) should all have the same probability.
@DJMcMayhem不,通常会误输入多个字符;
—
Downgoat '16