jjzjj

combinations

全部标签

javascript - 小于或等于 NN 的预定义数字的最佳可能组合和

我有一个管道长度列表,我需要将这些长度安装在最大允许长度内以获得最佳产量例如,最大允许长度是90,我需要制作的部分是:25、60、13、48、23、29、27、22为了在90以内得到最佳拟合,我有一组这样的数字:60、29(共89)27、25、13、23(共88个)48、22(共70)我找到了this回答类似的问题,但我不知道如何将其转换为在excel或javascript或php中使用如有任何帮助,我们将不胜感激。谢谢。 最佳答案 这是一种可能的解决方案。但它是一种蛮力算法,所以它不是越快越好。functionbestComb(n

php - 受限笛卡尔积计算 - PHP

编辑1-自从发布后我了解到基本问题是关于如何找到笛卡尔积(现在去谷歌),但不仅因为我不想要每个烫发,我想找到使用相同子数组的笛卡尔积每次排列的关键永远不会超过一次,我的“额外”问题更多地是关于如何最大限度地减少笛卡尔积所需的工作量(我不得不说,接受小的错误率)-想象一下......我有四个厨师和四个食谱,每个厨师对每个食谱都有一个分数,今天我希望每个厨师做一道菜(但没有一道菜应该做两次)并且决定应该基于最好的(最高总分)所有四个的排列(所以也许一个厨师不会做出他个人的最好成绩)。我已将数据放入多维数组中array(array(1,2,3,4),array(35,0,0,0),array

javascript - 找出一定范围内N个不重复数的所有可能组合,加起来等于X

几个月来我一直在努力寻找解决方案。这是我的一个艺术项目。到目前为止,我可以找到部分python和c解决方案,但它们对我的情况没有用......我需要一个使用PHP或Javascript的工作解决方案。问题是:找出N个数的所有可能组合,应满足以下条件:数字在组合中不重复数字不会在其他解决方案中以不同的顺序重复只使用整数在一定的整数范围内加起来是X例如:找到3个数字的所有组合在1-12的所有数字中加起来是15计算出的解决方案应该吐出:[1,2,12][1,3,11][1,4,10][1,5,9][1,6,8][1,7,7]=EXAMPLEOFWRONGOUTPUT,NOREPEATINGN

java - 列出所有游戏

关注一个问题hereOP有兴趣列出所有独特的2x2游戏。这里的游戏是博弈论游戏,其中有两个玩家和两个策略。因此,有四种可能的结果(见图)。这些结果伴随着每个玩家的“yield”。yield“对”是每个玩家从某些策略组合中获得的两个yield。yield以整数形式给出,不能超过4。例如,考虑以下2x2游戏示例(支付对写在括号中,P1和P2分别表示玩家1和2):P2RightLeftUp(2,2)(3,4)P1Down(1,1)(4,3)此处的yield取值[(2,2),(3,4)|(1,1),(4,3)].现在,显然许多其他游戏(即独特的yield矩阵)也是可能的。如果每个玩家的yiel

java - 在Java深度生成列表n层的所有组合

我正在使用以下代码来生成大小为s的组合的列表:publicstatic>List>combinations(Listitems,intsize){if(size==1){List>result=newArrayList();for(Titem:items){result.add(Collections.singletonList(item));}returnresult;}List>result=newArrayList();for(inti=0;i>additionalItems=combinations(items.subList(i+1,items.size()),size-1)

Java 流 : Combining two collections into a map

我有两个集合,一个仓库ID列表和一个小部件集合。小部件以不同的数量存在于多个仓库中:ListwarehouseIds;Listwidgets;这是一个类定义的例子:publicclassWidget{publicCollectiongetStocks();}publicclassStock{publicLonggetWarehouseId();publicIntegergetQuantity();}我想使用StreamsAPI创建一个Map,其中仓库ID是键,值是特定仓库中数量最少的Widget列表。因为多个小部件可能具有相同的数量,所以我们返回一个列表。例如,仓库111有5个Widg

java - 是否有可能在 O(1) 中得到 m 个字符长度组合的第 k 个元素?

你知道在O(1)中得到m元素组合的第k个元素的方法吗?预期的解决方案应适用于任何大小的输入数据和任何m值。让我通过例子(python代码)来解释这个问题:>>>importitertools>>>data=['a','b','c','d']>>>k=2>>>m=3>>>result=[''.join(el)forelinitertools.combinations(data,m)]>>>printresult['abc','abd','acd','bcd']>>>printresult[k-1]abd对于给定的数据,m元素组合的第k个(本例中为第2个)元素是abd。是否可以在不创建整个

Java:通过给出数字 N 生成 true 和 false 的组合;

我尽可能地简化任务,以便将其应用到我的算法中。这是数学家和程序员面临的挑战:我需要创建一个传递参数intn的方法:publicvoidoptionality_generator(intn){//somekindofloops,orrecursions...tomakeitworkableSystem.out.println("currentcombination:...");}输出应显示所有可能的真假组合。这里是N=1的例子;N=2;N=3;N=4;N=5其中x=false和0=true;请注意,空的分隔线只是为了让您更容易识别模式。希望我包含了所有可能的组合):Combination

java微优化: combine set of boolean instance variables to bit vector based on int

我们有一个包含很多实例的类,遇到了内存问题。因此,我们尽量减少这个类的内存需求。一种想法如下。该类有许多boolean实例变量,在天真的实现中,每个实例变量都会占用一个词。可以考虑将它们组合成一个存储在int中的微型位vector,这样它们的组合内存需求就是一个字。但我怀疑JavaVM无论如何都会进行这种优化,因此手动执行它不会获得任何额外的节省。对吧? 最佳答案 boolean值使用1个字节的内存(在热点上)。您可以使用替代方案:一个BitSet:每个boolean值大约使用1位+类本身的开销、对BitSet的引用、对BitSet

java - 字符串至少包含一位数字

我试图查看一个字符串是否至少包含一个数字、一个小写字母或一个大写字母。我写过这样的东西:intcombinations=0;stringpass="!!!AAabas1";if(pass.matches("[0-9]")){combinations=combinations+10;}if(pass.matches("[a-z]")){combinations=combinations+26;}if(pass.matches("[A-Z]")){combinations=combinations+26;}但是我不明白为什么我不能让组合达到36。它们只是保持在0。我做错了什么?