Tag: algorithm

encryptionalgorithm列表

我试图find一个strings列表,可以使用一个encryptionalgorithm来适应这个函数,取代SHA256 。 crypto.createHmac("SHA256", secret).update(string).digest('base64'), 我已经认识到crypto使用openssl ,并且这些algorithm是特定于运行node.js的每个系统的。 通过以下命令,您可以看到系统可用的所有algorithm的列表。 openssl list-cipher-algorithms openssl list-cipher-commands 我将这两个命令的内容输出到了这个要点 。 令我困扰的是SHA256不在这两个列表中。 我真的很喜欢明确的algorithm列表。

从Node HTTP请求中运行的algorithm需要更长的时间才能运行

我有一个节点的应用程序,绘制在一个x,y点图的数据。 目前,我从前端发出GET请求,后端节点服务器接受请求,循环访问数据点arrays,使用Node Canvas绘制canvas,并将其传回到显示为PNG图像的前端。 复杂的事情是可以有多边形,所以我的algorithm计算一个点是否在一个多边形内,使用多边形包中的点 ,以及数据点的颜色,如果它是不同的。 这在less于50,000个数据点的情况下工作正常。 但是,如果有80万个请求需要大约23秒。 我已经对代码进行了剖析,大部分时间都是循环遍历所有的数据点,并找出在canvas上绘制的位置以及颜色(取决于它是否在一个或多个多边形中)。 这是我做的一个笨蛋 。 基本上我做这样的事情: for (var i = 0; i < data.length; i++) { // get raw points x = data[i][0]; y = data[i][1]; // convert to a point on canvas pointX = getPointOnCanvas(x); pointY = getPointOnCanvas(y, 'y'); color = getColorOfCell(pointX, pointY); color = color; plotColor.push({ color: color, […]

Node.js或PHP中的模式识别algorithm?

我想开始试验识别数据中的模式的algorithm。 我处理许多types的序列(图像像素,文本input,用户移动),使用模式识别来试图从不同的数据集中提取有意义的数据是很有趣的。 像大多数的networking一样,我的数据大部分是基于文本或基于整数键的。 他们的任何类是否提供了检查/创buildPHP或Nodejs模式的基本框架?

计算两点之间的最短路线

过去几周,我一直在使用nodejs和websockets在多人游戏上进行HTML5游戏。 我一直陷在这个问题上。 想象一下,我有一个数组( 如下所示 )实现这个tileheet映射。 1或棕色的瓷砖 – 有一个障碍,玩家不能通过它。 0或绿色瓷砖 – 是允许玩家移动的自由path。 通过以下方式访问地图上的任何图块: array[x][y] 我想创build最快的algorithm来找出地图两点之间的最短路线(如果有的话)。 你将如何解决这个问题? 我知道这是常见的问题。 例如 : 在位置(1,7)的玩家用一些AI来发射子弹,这个AI会在位置(6,0)向敌方玩家发射。 子弹必须计算两个玩家之间的最短路线,如果没有,就会爆炸在墙上。 问题 : 如何有效地find两点之间的最短路线?

打孔/将多个string合并为一个(最短的)string,其中包含每个string的所有字符

我的目的是将多个string打成一个单一的(最短的)string,该string将包含每个string的正向的所有字符。 这个问题不是特定于任何语言,而是更多地涉及algorithm部分。 (可能会在节点服务器中实现它,所以标记nodejs/javascript )。 所以,要解释这个问题: 让我们考虑一下我有几个string ["jack", "apple", "maven", "hold", "solid", "mark", "moon", "poor", "spark", "live"] 结果string应该是这样的: "sjmachppoalidveonrk" jack:s j m ac hppoalidveonr k apple:sjm a ch pp oa l idv e onrk 固体:jmachpp o 盖子 veonrk ==================================== >>>>全部在前进的方向 这些都是人工评估,在这个例子中输出可能不是100%完美。 所以,重点是每个string的所有字母都必须存在于FORWARD DIRECTION的输出中(这里是实际的问题所在),并且服务器可能会发送最终的string,并且会生成27594这样的27594并将其传递以提取令牌,在要求的最后。 如果我不得不用最小的string来打出它,那么会更容易(这种情况下只有唯一的字符就足够了)。 但在这种情况下,有一些要点: 字母可以多次出现,尽pipe我必须重用任何字母(如果可能的话),例如:for solid和hold o > l > d可以作为前向重用,但对于apple ( a > p […]