jjzjj

permutation

全部标签

php - 获取 PHP 数组的所有排列?

给定一个PHP字符串数组,例如:['peter','paul','mary']如何生成此数组元素的所有可能排列?即:peter-paul-marypeter-mary-paulpaul-peter-marypaul-mary-petermary-peter-paulmary-paul-peter 最佳答案 functionpc_permute($items,$perms=array()){if(empty($items)){echojoin('',$perms)."";}else{for($i=count($items)-1;$i>

php - 排列 - 所有可能的数字集

我有数字,从0到8。我想要结果,这些数字的所有可能集合,每个集合应该使用所有数字,每个数字在一个集合中只能出现一次。我希望看到用PHP编写的可以打印结果的解决方案。或者,至少,我想复习一下组合学理论,因为我早就忘记了。计算有多少排列的公式是什么?示例集:0-1-2-3-4-5-6-7-80-1-2-3-4-5-6-8-70-1-2-3-4-5-8-6-70-1-2-3-4-8-5-6-70-1-2-3-8-4-5-6-70-1-2-8-3-4-5-6-7等等... 最佳答案 您正在寻找排列公式:nPk=n!/(n-k)!在您的例子中

php - 排列 - 所有可能的数字集

我有数字,从0到8。我想要结果,这些数字的所有可能集合,每个集合应该使用所有数字,每个数字在一个集合中只能出现一次。我希望看到用PHP编写的可以打印结果的解决方案。或者,至少,我想复习一下组合学理论,因为我早就忘记了。计算有多少排列的公式是什么?示例集:0-1-2-3-4-5-6-7-80-1-2-3-4-5-6-8-70-1-2-3-4-5-8-6-70-1-2-3-4-8-5-6-70-1-2-3-8-4-5-6-70-1-2-8-3-4-5-6-7等等... 最佳答案 您正在寻找排列公式:nPk=n!/(n-k)!在您的例子中

C 将内存部件移动到位

我正在实现几个数据结构,我想使用的一个原语如下:我有一个内存块A[N](它的长度是可变的,但我的例子是100),在这个block内,有我想在不使用任何额外内存的情况下移动长度为K(假设为30)的较小部分C。额外的困难是,A“换行”,即C可以从A[80]开始,然后C的前20个元素是元素A[80..100],最后10个元素是元素A[0..10]。此外,目标范围也可以以任何可能的方式与C“环绕”和重叠。此外,我不想使用超过恒定数量的额外内存,一切都应该发生。此外,A中既不在目标范围内也不在源范围内的部分可能包含一些重要的东西,因此也不能使用它。所以一种情况如下:A看起来像这样:|456789

C 将内存部件移动到位

我正在实现几个数据结构,我想使用的一个原语如下:我有一个内存块A[N](它的长度是可变的,但我的例子是100),在这个block内,有我想在不使用任何额外内存的情况下移动长度为K(假设为30)的较小部分C。额外的困难是,A“换行”,即C可以从A[80]开始,然后C的前20个元素是元素A[80..100],最后10个元素是元素A[0..10]。此外,目标范围也可以以任何可能的方式与C“环绕”和重叠。此外,我不想使用超过恒定数量的额外内存,一切都应该发生。此外,A中既不在目标范围内也不在源范围内的部分可能包含一些重要的东西,因此也不能使用它。所以一种情况如下:A看起来像这样:|456789

c++ - 大集合的第 n 个或任意组合

假设我有一组来自[0,.....,499]的数字。目前正在使用C++std::next_permutation顺序生成组合。作为引用,我拉出的每个元组的大小是3,所以我返回顺序结果,例如[0,1,2],[0,1,3],[0,1,4],...[497,498,499]。现在,我想并行化它所在的代码,因此这些组合的顺序生成将不再起作用。是否有任何现有的算法可以从500个数字中计算出3的ith组合?我想确保每个线程,无论它获得的循环迭代如何,都可以根据它正在迭代的i计算一个独立的组合。因此,如果我想要线程1中i=38的组合,我可以在计算[1,2,5]的同时计算i=0在线程2中作为[0,1,2

c++ - 大集合的第 n 个或任意组合

假设我有一组来自[0,.....,499]的数字。目前正在使用C++std::next_permutation顺序生成组合。作为引用,我拉出的每个元组的大小是3,所以我返回顺序结果,例如[0,1,2],[0,1,3],[0,1,4],...[497,498,499]。现在,我想并行化它所在的代码,因此这些组合的顺序生成将不再起作用。是否有任何现有的算法可以从500个数字中计算出3的ith组合?我想确保每个线程,无论它获得的循环迭代如何,都可以根据它正在迭代的i计算一个独立的组合。因此,如果我想要线程1中i=38的组合,我可以在计算[1,2,5]的同时计算i=0在线程2中作为[0,1,2

python - 如何在 tensorflow 中置换转置?

来自docs:Transposesa.Permutesthedimensionsaccordingtoperm.Thereturnedtensor'sdimensioniwillcorrespondtotheinputdimensionperm[i].Ifpermisnotgiven,itissetto(n-1...0),wherenistherankoftheinputtensor.Hencebydefault,thisoperationperformsaregularmatrixtransposeon2-DinputTensors.但我仍然有点不清楚我应该如何对输入张量进行切片。例

python - 如何在 tensorflow 中置换转置?

来自docs:Transposesa.Permutesthedimensionsaccordingtoperm.Thereturnedtensor'sdimensioniwillcorrespondtotheinputdimensionperm[i].Ifpermisnotgiven,itissetto(n-1...0),wherenistherankoftheinputtensor.Hencebydefault,thisoperationperformsaregularmatrixtransposeon2-DinputTensors.但我仍然有点不清楚我应该如何对输入张量进行切片。例

python - 过滤一组以匹配字符串排列

我正在尝试使用itertools.permutations()来返回string的所有排列,并且只返回一组的成员单词。importitertoolsdefpermutations_in_dict(string,words):'''Parameters----------string:{str}words:{set}Returns-------list:{list}of{str}Example------->>>permutations_in_dict('act',{'cat','rat','dog','act'})['act','cat']'''我当前的解决方案在终端中运行良好,但不知