草庐IT

algorithm

全部标签

javascript - 从具有 O(n) 的数组中获取最大的时间顺​​序下降、最小值和最大值

我编写了一个javascript函数来分析数组中最大的落差。但是还有一个小问题。作为最大值,我总是从我的孔阵列而不是我的下降中获得最大值。例子:数组:[100,90,80,120]最大下降值在100到80之间。因此最大值必须为100,最小值必须为80。我的函数总是返回整个数组中的最大值。在我的例子中是120functioncheckData(data){letmax=0letmin=0letdrop=0for(leti=0;i我想从左到右获得按时间顺序正确的最大增量 最佳答案 您的循环应该跟踪当前的下降并将其与之前最大的下降进行比较

javascript - 绘制具有厚度/宽度的线的算法

我正在寻找一种绘制具有一定粗细的线条的快速算法。线条不必抗锯齿,速度优先。像这样相当简单的东西就足够了:用例是一个Javascript游戏,蠕虫会留下痕迹。(HTML5Canvas明显画线,但是getImageData()很慢,碰撞检测也很慢)在过去的2.5小时内,我找不到执行此操作的任何东西。是的,我知道关于SO的问题几乎相同,实际上有很多,但没有一个有可行的解决方案。我目前唯一的解决方案是沿着Bresenham线画圆,这不是很有效。一些代码(伪代码、JS或至少一篇文章的链接)会很棒。 最佳答案 http://members.ch

javascript - 在 ES6 深度嵌套的对象的 javascript 数组中查找值

在一个对象数组中,我需要找到一个value——其中key是activity:但是activitykey可以像这样深度嵌套在数组中:constactivityItems=[{name:'Sunday',items:[{name:'Gym',activity:'weights',},],},{name:'Monday',items:[{name:'Track',activity:'race',},{name:'Work',activity:'meeting',},{name:'Swim',items:[{name:'Beach',activity:'scubadiving',},{name

javascript - 什么是最好的 javascript 自动建议搜索算法

假设我有一个对象:varnames=["john","jane","al","mary","zane"...1000+Names]我想创建一个自动建议来搜索这些名称。最有效的方法是什么?我读过创建一个trie或三元数据结构是最好的,但我不确定如何在js中实现这些。有什么想法吗? 最佳答案 trie将是一个很好的解决方案。您的数据集看起来像这样:{"j":{"a":["jacob","jane",..],{"o":["john","joesph",..],..};您将逐个字符地索引尽可能深的层次(以便最内层的数组可能有20-30个条目

javascript - 自动放置流程图形状的算法

我的团队需要使用HTML5Canvas或D3库(或其他更合适的工具,欢迎提出建议)用JavaScript构建流程图生成器。流程图将从JSON文档中定义的有向图生成。我的问题如下:我们可以使用哪种标准算法来促进流程图中形状(图中节点)的自动放置,以最大限度地减少重叠连接的数量及其长度? 最佳答案 对于这类问题,力导向算法并不是最优的。我宁愿建议使用分层图绘制(http://en.wikipedia.org/wiki/Layered_graph_drawing)算法。这种算法的一个很好的JS实现是Dagre(https://github

javascript - 根据内部数组中的值对外部数组进行排序,javascript

我有一个包含数组的数组,我想根据内部特定列中的值对外部数组进行排序。我敢打赌这听起来有点令人困惑,所以我将直接跳到示例。初始数据:vardata=[["row_1-col1","2-row_1-col2","c-row_1-coln"],["row_2-col1","1-row_2-col2","b-row_2-coln"],["row_m-col1","3-row_m-col2","a-row_m-coln"]];根据索引为1的列对数据进行排序data.sortFuncOfSomeKind(1);然后对象看起来像这样;vardata=[["row_2-col1","1-row_2-c

javascript - 谷歌地图两个圆的交点

有没有一种简单的方法来获取两个circles的交点(如果可用)的lat/lng在GoogleMapsAPIV3?或者我应该选择hard怎么办?编辑:在我的问题中,圆总是具有相同的半径,以防让解决方案更容易。 最佳答案 是的,对于相等的圆,可以详细说明相当简单的解决方案:让我们第一个圆心是A点,第二个圆心是F,中点是C,交点是B,D。ABC是直AngularC的直Angular球面三Angular形。我们想要找到AngularA-这是与A-F方向的偏差Angular。球面三Angular学(直Angular球面三Angular形的纳P

javascript - 在 javascript 中更改 RGB 颜色的色调

类似于this(如何增加亮度)我想改变RGB(十六进制)颜色的色调。说changeHue("#FF0000",40)返回"#FFAA00" 最佳答案 这是我找到的解决方案。我希望它可用,并且将来可能会有所帮助。非常欢迎任何改进或进一步的解决方案。改变色调//ChangestheRGB/HEXtemporarilytoaHSL-Value,modifiesthatvalue//andchangesitbacktoRGB/HEX.functionchangeHue(rgb,degree){varhsl=rgbToHSL(rgb);hsl

javascript - 一维阵列 - 以最少的浪费确定最佳容器尺寸

编辑:感谢Alain对此的正确描述:问题是这样的:一家商店试图找到其纸板箱的最佳尺寸,以便能够包装所有商品,并尽量减少纸箱中的浪费空间。目前我有一个包含卷的数据集。我需要弄清楚例如我可以使用的容器数量是否为5个,适合所有这些体积的5个最佳尺寸是多少?例如,这个数组包含我的卷:varnumbers=[10,20,20,30,50,50,50,80];为了简单起见,我有2个容器。大小分别为50和80。10装50,废40,20装50,废30等等。50适合50,但浪费为0。同样适用于80。总共浪费为120。但是如果尺寸不同呢?60和80。那么总的浪费就是180。(60-10)+(60-20)+

javascript - 最小距离哈密顿路径 Javascript

我知道这是一个相当常见的问题(通常是tsp),但我已经被它难住了一段时间了。我正在寻找给定一组x,y坐标的最小距离哈密尔顿路径。起点和终点是完全任意的,但它不能循环,所以标准的tsp已经出来了(尽管据说在所有其他节点的0距离处添加一个虚拟点,然后稍后删除它,我不知道我该怎么做).有很多指向数学论文的链接以及类似的讨论算法来解决类似问题,但我更愿意使用代码而不是复杂的方程式,我真的不想重新发明轮子。在主要语言java、c#、c++、ruby、javascript、php等中肯定有一个相当简单的实现可以解决我的问题的约20个节点版本。编辑:我也在寻找尽可能准确的,显然它不能像20一样完全准