我正在用 javascript 进行顺序和并行编程,我能够解决顺序编程,但不知道如何使用并行编程来做同样的事情。
对于顺序问题是:
这是一个顺序处理的例子,它从 1 开始,一直到 3,然后加上 21。然后它将从 1 开始,直到 2 并添加 10。最后,从 1 开始,一直到 4,然后加 1。
对于输入:1 3*21#2*10#4*1 输出将是:
22
23
24
11
12
2
3
4
5
我使用下面的代码解决了
function solution(inputData) {
var first = inputData.substring(0, 1);
if(first == 1)
{
//sequential
var strArr = inputData.split(" "); //3*21#2*10#4*1
var strHashSplitArr = strArr[1].split("#"); //3*21 #2*10# 4*1
for(var i=0;i<strHashSplitArr.length;i++)
{
var loopInp = strHashSplitArr[i].split("*");
var maxVal = parseInt(loopInp[0]);
var addVal = parseInt(loopInp[1]);
for(var k=1;k<=maxVal;k++)
{
console.log(k+addVal);
}
}
}
}
但现在的问题是并行编程
问题:
例如 2,有 3 个进程并行启动,编号为 1、2 和 3,延迟时间为 100、20 和 50。在这里,所有进程将一起开始,但将首先打印延迟较少的数字。这里延迟较少的数字是 2.So 它将打印 21,22 同时将实现 50 ms,它将从第 3 个数字打印 51。现在它与数字 1 混合并打印 101 等等。
输入 : 2 1*100#2*20#3*50
输出应该是:
21
22
51
101
52
53
我没有尝试使用并行但以毫秒排序但无法获得预期的输出。
这是第二个 .. 的 JSfiddle 代码,它给出了错误的输出(我没有使用并行方法): https://jsfiddle.net/mahajan344/0u2ka981/
如何使用并行 JavaScript 编程实现相同的输出?
冉冉说
手掌心
相关分类