草庐IT

algorithm

全部标签

用于三线性插值的 Javascript 函数

全部,我认为我正在寻找一个用于三线性插值的函数。详情如下:我有一个三维数据集:维度1从0到100以5为增量变化维度2从0到100以5为增量变化维度3从0到1以0.1为增量变化所以,我有4851个总值(21x21x11)。如果我需要找到(10,25,0.3)的值-这很简单-我可以在3维数组中查找它。但是,我需要能够得出最佳近似值,例如给定维度值(17,48,0.73)。所以,我认为我正在寻找的是三线性插值(尽管我非常感谢任何关于更好方法的建议,或者暗示我在错误的主题上总的来说……)快速谷歌搜索会出现这个公式:Vxyz=V000(1-x)(1-y)(1-z)+V100x(1-y)(1-z)

javascript - 如何计算直线和任意形状的交点?

有没有一种方法可以几何计算直线和任意图形路径的交点?我知道所有直线和曲线在路径中的位置,如果有帮助的话,我正在使用HTML5canvas元素。基本上,我可以访问所有Canvas绘图命令及其参数。例如,如果调用API时先是lineTo,然后是moveTo,然后是arc,我拥有所有这些信息。对API的每次调用都存储在一个数组中。我有路径定义,我只想找出直线与路径相交的位置。下图显示了我需要查找的点的示例。感谢您的帮助!同样,如果可能的话,我宁愿从几何Angular而不是基于像素来做到这一点。 最佳答案 您可能想看看KevinLindse

javascript - 有中点椭圆算法吗?

有没有类似中点圆算法的中点椭圆绘制算法?我在谷歌上搜索过示例,但我发现的任何示例要么不起作用,要么用于填充的椭圆,而不是绘制的。此外,关于中点圆算法的维基百科页面提到了椭圆版本的存在,但有一个谷歌似乎无法帮助解决的死链接。如有任何帮助,我们将不胜感激。 最佳答案 最终在这里找到了答案:http://geofhagopian.net/sablog/Slog-october/slog-10-25-05.htm复制和调整以在下面更普遍适用......functionellipsePlotPoints(xc,yc,x,y){setPixel

javascript - 在二进制字符串中查找模式

我试图在一串二进制数字中找到重复模式。例如。0010010010或1110111011=确定不是。0100101101=坏字符串的长度为10位数字(如上所述),我猜“模式”的2次迭代是最少的。我开始手动设置程序可以与之匹配的模式“库”,但一定有更好的算法使用方法吗?搜索让我一无所获-我认为我使用的语言和术语不正确.. 最佳答案 相当大的挑战。这个功能呢?functionfindPattern(n){varmaxlen=parseInt(n.length/2);NEXT:for(vari=1;i它甚至适用于具有任何内容的任何长度的字符

javascript - 在 JavaScript 中计算模逆

我正在尝试采用ed=1mod((p-1)(q-1))并求解d,就像RSA算法一样。e=5,(p-1)*(q-1)=249996我在javascript中尝试了很多代码,例如:functionmodInverse(){vare=5;varp=499;varq=503;vard=e.modInverse((p-1)*(q-1));DisplayResult(d,"privateKeyResultLabel")}或functionmodInverse(){System.out.println(BigInteger.valueOf(5).modInverse(BigInteger.valueO

javascript - 如何以编程方式处理英文缩写 [Regex, JS, Ruby]

我正在捕获自然语言用户输入,我需要根据预定义的“正确”版本检查它。这是微不足道的,但我不确定如何处理英语中收缩的变化。假设我期待句子I'mpositiveyoudon'tknowwhatyou'redoing.匹配需要精确,但我不想将用户锁定在一种变体,因为那样很快就会令人沮丧。那么,我是否应该手动输入该句子的所有可能变体作为有效匹配项?像这样:"I'mpositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudon'tknowwhatyou'redoing.""Iampositiveyoudonotknowwhatyou'redoing.

javascript - 阿里巴巴面试: print a sentence with min spaces

我看到了这个面试题,试了一下。我被困。面试问题是:Givenastringvars="ilikealibaba";andadictionaryvard=["i","like","ali","liba","baba","alibaba"];trytogivetheswithminspaceTheoutputmaybeilikealibaba(2spaces)ilikealibaba(3spaces)butpickno.1我有一些代码,但在打印过程中卡住了。如果你有更好的方法来做这道题,请告诉我。functionisStartSub(part,s){varcondi=s.startsWit

javascript - 找到距离原点 (0, 0) 最近的 K 个点

问题是,给定一个坐标列表,确定离原点最近的k个坐标的数量。我已经能够确定点和原点之间的距离,但是在过滤最近的k个点时,我迷路了。我决定将此逻辑放在第二个for循环中,将距离数组从最近到最远排序,然后推送小于K的值。functionkClosest(points,k){letlength=[];letarr=[];letresult=[];leta=0;letb=0;for(leti=0;i预期输出:[-5,4],[4,6]//我有[-5,4],[-6,-5] 最佳答案 对整个数组进行排序是一种浪费,甚至可能是不可能的。这很浪费,因为

javascript - 在分布式环境中拆分数组以找到两个子数组之和之间的最小差异

昨天有人问我这个问题。我必须编写代码将数组分成两部分,以使这两部分之和之间的差异最小。这是我写的代码,复杂度O(n)functionsolution(a){letleftSum=0;letrightSum=a.reduce((acc,value)=>acc+value,0);letmin=Math.abs(rightSum-leftSum);a.forEach((item,i)=>{leftSum+=a[i];rightSum-=a[i];consttempMin=Math.abs(rightSum-leftSum);if(tempMin但后来有人问我如果输入数组长度为1000万,我如

javascript - 为什么我没有定义参数时会出现无限循环?

我想知道为什么会出现无限循环。我只是不想传递这个初始值,所以如果它们是undefined,它们会自动计算。它只是为了清理我的函数调用以仅使用一个参数。如果我通过了它们,一切运行正常,过程结束。谁能帮忙?谢谢functionmerge(array,lower,half,upper){//Suppressedforthesakeofbrevity}functionmergeSort(array,lower,upper){if(!lower&&!upper){//takealookherelower=0;upper=array.length-1;}if(lower