Tag: 排列

C#重新排列字符串中的字符的算法

我想要一个C#算法,它将字符重新排列在一个动态长度的字符串中。 找不到一个,我知道必须有一个。 该算法必须重新排列元素以形成所有可能组合的新字符串。 例如,“cat”会产生以下结果: cat cta tca tac act atc

Fisher-Yates在单个字符串上进行洗牌而不是使用相等长度的排列?

现在我正在开发一套文字游戏作为教我自己的手段(并重新创建一些我最喜欢的文字游戏!)在“实际”学习的编程朋友的帮助下,我们在其中一个中实现了一个很好的排列方法我的课程。 它正在查找3个字母以上的所有排列,并将它们与我所包含的字符串列表进行比较,其中包含基本上是Scrabble锦标赛单词列表。 这就是背景,这是我当前的问题:我现在已经拥有了所有的排列,并将它们与现有单词进行了比较,并创建了一个新的List,其中包含给定字符串中所有可能的单词组合。 但是,当我向用户提供此字符串时,我需要对其进行加扰。 我找到了Fisher-Yates shuffle的一些C#实现,但我没有成功地使它们接受单个字符串(编辑:Fisher-Yates问题用char []数组解决)。 然后我有了一个黑客的想法 – 为什么不使用一个相同长度的排列但是!=原始单词。 不幸的是,每当我的条件语句向后返回单词时。 最终用户没有那么难以弄明白:)这是我的加扰代码: // permWords is a Dictionary<int, List> String strScrambled= “”; foreach (List listWords in permWords.Values) { foreach (string word in listWords) { if (word.Length == strWord.Length && word != strWord) { strScrambled = word; } } } 我已经尝试过strScrambled = word + 1假设第一个排列不strScrambled = word […]

列出不同字符组合的排列

我找到的最接近的SO主题是: 列出字符串/整数的所有排列 但是,如何为字符串中的每个位置使用不同的字符集? 例如:我指定字符串长度为“3”。 前两个位置应该是“a”或“b”,但最后一个位置应该是“1”或“2”,例如: aa1 ba1 ab1 bb1 aa2 ab2 ba2 bb2

从各种可能性中寻找所有组合

我有多组数组,其中包含附加值的附加数组,我用它来计算数学。 为了找到这些东西的最佳组合,我需要混合和匹配这些数组。 我已经看到了类似于此的“解决方案”,但它们通常是1个深度arrays,没有真正的组合/可能性。 所以举个例子。 我有套A,B和C.套装A包含Aa,Ab,Ac和Ad。 Aa包含一组值。 为其他人推断出来。 Aa只能与Ba和Ca进行比较。 如何编写程序来查找所有组合(即Aa,Ab,Cc,Bd与Ba,Cb,Ac,Bd等比较),这样我可以比较每个组合的数学,找到最好的组合? 注意:这只是一个例子,我不需要它专门为3组4组4,它需要能够扩展。 现在我知道我没有为我的变量使用非常有意义的名称,但是我会很感激,如果给出的任何代码中都有有意义的名称(我真的不想在代码中遵循x和c的变量)。

C#高级置换场景

我试图找出如何找到所有组合给出以下信息: 我从一个JSON数据集开始: var choices = { 1: {‘Q’: 100, ‘R’: 150, ‘W’ : 250, ‘T’, 30}, 2: {‘Q’: 90, ‘R’: 130, ‘W’ : 225, ‘T’, 28}, 3: {‘Q’: 80, ‘R’: 110, ‘W’ : 210, ‘T’, 25}, 4: {‘Q’: 70, ‘R’: 90, ‘W’ : 180, ‘T’, 22}, 5: {‘Q’: 60, ‘R’: 70, ‘W’ : 150, ‘T’, […]