草庐IT

algorithm

全部标签

javascript - 随机化数组中的元素?

我为我的一位艺术家friend创建了一个网站,她希望布局保持不变,但她也希望将她创作的新画混合到当前布局中。所以我在主画廊页面上有12个缩略图(thumb1-thumb12)和18个图像(img1-img18)放置我想到的方法是创建一个包含所有图像的数组,将其随机化,然后简单地刮掉前12个并将它们加载到拇指槽中。另一种方法是从阵列中随机选择12张图像。在第一种情况下,我找不到随机化数组元素的方法。在后一种情况下,除了使用第二个数组之外,我无法全神贯注如何防止图像加载不止一次,这看起来非常低效和可怕。顺便说一下,我正在用Javascript完成所有这些工作。

javascript - 将数字分成 4 个随机数

我想将10分成一个由4个随机数组成的数组,但不能是0或大于4。例如[1,2,3,4]、[1,4,4,1]或[4,2,3,1].我认为这是一个简单的问题,但出于某种原因我想不出该怎么做。如果有人有一些非常有帮助的说明!编辑:这是我现在的代码,但我生成的总数也低于10:letformation=[];lettotal=0;for(leti=0;i 最佳答案 您可以创建所有可能的组合并选择一个随机数组。functionget4(){functioniter(temp){returnfunction(v){vart=temp.concat(

javascript - 优化 javascript 代码以在数组中找到 3 个最大的元素及其索引?

我需要此javascript代码的更优化版本来查找数组中的3个最大值。我需要获得最大数字的索引。有没有其他更简单的方法来解决这个问题?varmaxIndex=newArray();varmaxPoints=newArray();varscoreByPattern=newArray(93,17,56,91,98,33,9,38,55,78,29,81,60);functionfindLargest3(){maxPoints[0]=0;maxPoints[1]=0;maxPoints[2]=0;for(i=0;imaxPoints[0]){maxPoints[0]=scoreByPatte

javascript - 分配工作人员任务

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。有关您编写的代码问题的问题必须在问题本身中描述具体问题——并包括重现它的有效代码。见SSCCE.org寻求指导。8年前关闭。Improvethisquestion在模拟中,工作人员必须在map上移动来执行任务。每次模拟'tick',他们可以移动一格。一旦他们与它相邻执行任务需要10个滴答声。任务方block不能通过。有worker的广场不能通过。一个以上的worker可以在一个广场上工作。worker不相互竞争;目标是尽快完成所有任务。补充:理想情况下,该算法应该易于概念化并且易于实现。这不是每个人都

javascript - 是否有一种树结构或算法可以在树中的各个级别之间进行洗牌?

我有一个我认为很有趣的问题。基本上,我有一个项目列表,其中每个项目都有一组固定的元数据,具有不同的值。例如:项目1:{类型=“文本”,作者=“用户A”,编辑日期=“03/03/2003”项目2:{Type="Table",Author="UserA",EditedDate="04/05/2006"}项目3:{Type="Image",Author="UserB",EditedDate="05/05/2005"}项目4:{类型=“文本”,作者=“用户B”,编辑日期=“05/07/2007”现在,就目前而言,该项目列表已展开并显示在表格中。但是,我们想找到一种方法允许用户在树中浏览它,但增

javascript - 二维空间搜索和 Javascript 实现的优化数据结构?

我正在开发俄罗斯方block类型的HTML5游戏,需要加强空间优化算法。需要以最节省空间的方式将不同大小的矩形block添加到Canvas中。我知道block需要多少空间,我需要找到可以添加block的最近点,固定x坐标-绝对最近的点是很好的。我已经实现了一个版本,它在Canvas上使用逐像素值检查进行搜索,向下推直到为形状找到足够的可用空间,然后添加它。仅当空间从左到右填满时,此方法(缓慢地)起作用-该算法可以安全地假设如果第一个像素列是安全的,则可以添加整个block。我需要让它更健壮,这是我认为应该去的地方。存储四叉树来表示棋盘状态让我可以更快地确定哪里有空间。每个深度级别存储4

javascript - 重置多维数组的最快方法?

假设我有一个二维数组:vectors[x][y],初始数组结构如下所示:vectors=[[0,0,0,0,0,],[0,0,0,0,0,],[0,0,0,0,0,],[0,0,0,0,0,],[0,0,0,0,0,]]经过一些计算,数组中的数据是随机的。将数组返回到其初始状态的最快和最有效的方法是什么?我知道我可以对上面的归零数组进行硬编码并再次将向量设置为等于它,但我也知道这样的算法:for(varx=0;x是O(x*y)。那么哪种方法更好呢?有没有更好、更快/更有效的方法来解决这个问题?对于将任意长度的多维数组置零的一般情况,哪种方法最好?(如果重要的话,我正在使用JavaScr

javascript - 有效地找到将较小的箱子分配给较大的箱子的每个组合

假设我有7个小箱子,每个箱子里有以下数量的弹珠:varsmallBins=[1,5,10,20,30,4,10];我将这些小箱子分配给2个大箱子,每个箱子的最大容量如下:varlargeBins=[40,50];我想找到小箱子如何在不超过容量的情况下分配到大箱子的每种组合(例如,将小箱子#4、#5放入大箱子#2,其余放入#1)。约束:必须将每个小垃圾桶分配给一个大垃圾桶。一个大垃圾桶可以留空这个问题很容易在O(n^m)O(2^n)时间内解决(见下文):只需尝试每个组合,如果没有超过容量,则保存解决方案。我想要更快的东西,可以处理可变数量的垃圾箱。我可以使用什么晦涩的图论算法来减少搜索空

javascript - 如何实现二维几何的约束求解器?

我有一组金属滑动件,它们按以下方式约束到x和y轴:我需要最大化受同一滑块约束的所有零件之间的水平距离,以及滑块与滑块本身之间的垂直距离。如何解决呢?任何可以解决该问题的建议都将不胜感激。我首先看了一些非常强大的库,例如cassowary和jsLPSolver,但是我在理解核心算法以及如何检查约束的可行性以及如何对可能的解决方案进行排名时遇到了一些麻烦。如何在JavaScript中为二维几何约束求解器实现一个(简单)存根,以解决上述问题?编辑:我有以下输入数据:maxW=300,maxH=320各个部分的定义如下(不是强制性的,每个解决方案都可以接受):slidingPiece=[pX,

javascript - gmail标签选择器难题-有更好的方法吗?

我们正在为我们的Web应用程序实现完全类似于gmail的标签功能-您可以选择帖子(复选框),然后从“标签”(它们本身是一组复选框)下拉列表中选择要应用/删除的标签)。问题是“如何去做?”我有一个解决方案,在解决该问题之前,我想先了解一下这是否正确,以及是否可以使用某些我可能不知道的jquery/javascript构造将其简化。无论如何,我都不是JavaScript/jQuery专业人士。:)让:M={帖子集}N={标签集}M_N=M和N之间的多对多关系,即一组帖子中至少包含N个标签输出:给定一组“选定的”帖子和一组“选定的”标签,将获得具有以下值的JSON项目数组:Post_id,L