Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C类型生成器算法_C#_.net_Web Applications - Fatal编程技术网

C# C类型生成器算法

C# C类型生成器算法,c#,.net,web-applications,C#,.net,Web Applications,我有一个要求,我需要得到所有可能的打字错误,而不是一个可能的单词的所有可能出现的错误。例如word:user。用户可以键入usre或yser之类的内容 目前我没有任何关于我从哪里开始的想法。如果有人已经遇到过类似的情况,并提出了解决方案,那么如果你能帮助启动,这将是很有帮助的 提前谢谢。这里有一个疯狂的想法 使用QWERTY键盘的布局创建一个图形,假设这是用户将使用的布局,其中每个键都是一个节点,每个节点都将连接到相邻的键/节点。例如,节点s将与q、w、e、a、d、z、x和c连接 现在,对于给定

我有一个要求,我需要得到所有可能的打字错误,而不是一个可能的单词的所有可能出现的错误。例如word:user。用户可以键入usre或yser之类的内容

目前我没有任何关于我从哪里开始的想法。如果有人已经遇到过类似的情况,并提出了解决方案,那么如果你能帮助启动,这将是很有帮助的

提前谢谢。

这里有一个疯狂的想法

使用QWERTY键盘的布局创建一个图形,假设这是用户将使用的布局,其中每个键都是一个节点,每个节点都将连接到相邻的键/节点。例如,节点s将与q、w、e、a、d、z、x和c连接

现在,对于给定的单词,用图中的所有相邻节点替换一个或多个字母。因此,word用户可以生成uwer、uaer、uder等


我希望这将对您有所帮助。

生成除单词本身以外的所有排列@当我说排列时,它将是使用给定单词的字母的每个排列,而不是一个4字母单词的所有可能组合。区域不是用户的排列。置换是解决这样一个问题的开始。如果你以单词的长度为基础,而这个长度是有效的,那么任何长度相等的单词在技术上都是一个打字错误……事实上,任何不是这个单词的字符串都是一个打字错误。与userq一样,问题的范围太大。如果没有对打字错误的构成加以规定的限制,这是无法实际解决的。@JabariDash-因此,按照排列的想法,如果用户键入listen,是他们要键入的单词,还是键入silent?这可能包括按错误的相邻键,b在之前或之后按错误的相邻键并按正确的键,c多次按正确的键,d跳过一个键,e按两个错误的键,f拼写错误。可能还有更多。SwiftKey已经很好地解决了这个问题,所以微软花了1000亿美元买下了它们。