草庐IT

递归算法

全部标签

javascript - 递归 'setTimeout' 函数调用最终会杀死 JS 引擎吗?

假设我有一些数据需要大约每10秒从服务器获取一次。我会有一个通过AJAX获取数据的函数,然后调用setTimeout再次调用这个函数:functionGetData(){$.ajax({url:"data.json",dataType:"json",success:function(data){//dosomthingwiththedatasetTimeout(GetData,10000);},error:function(){setTimeout(GetData,10000);}});}如果有人让网页整天打开,它可能会收到数千次递归函数调用。我不想使用setInterval,因为它没

javascript - AngularJS, promise 递归函数

我正在尝试将AngularJSpromise/then与递归函数一起使用。但是then-function没有被调用(错误、成功、通知回调都没有被调用)。这是我的代码:递归函数loadSection2=function(){varapiURL="http://..."vardeferred=$q.defer();$http({method:"GET",url:apiURL}).success(function(result,status,headers,config){console.log(result);loadCount++;if(loadCount然后loadSection2()

javascript - Luhn算法的实现

我正在尝试实现信用卡号的简单验证。我读到了Luhn算法onWikipedia:Countingfromthecheckdigit,whichistherightmost,andmovingleft,doublethevalueofeveryseconddigit.Sumthedigitsoftheproducts(e.g.,10:1+0=1,14:1+4=5)togetherwiththeundoubleddigitsfromtheoriginalnumber.Ifthetotalmodulo10isequalto0(ifthetotalendsinzero)thenthenumber

javascript - 在递归函数中停止settimeout

我的问题是我无法停止计时器。我有thismethod从这个论坛设置超时。它应该将标识符存储在全局变量中。无意间,我发现隐藏“mydiv”后它还在运行。我现在还需要知道,递归函数是创建多个实例还是只创建一个超时。因为起初我认为它每次都会覆盖“varmytimer”。现在我不太确定。停止计时器的可靠方法是什么?varupdatetimer=function(){//dostuffsetTimeout(function(){updatetimer();},10000);}//endfunction//thisshouldstartandstopthetimer$("#mybutton").c

javascript - 递归 - 测试最大堆栈大小时调用堆栈无法弹出

基本上,当last-in函数调用返回。但是每当我尝试创建一个接近其最大值的调用堆栈时,一个uncaughtexpressionisgettingraised.//Codefortestingthestacksizevarcnt=0;functiontest(){//Maxstacksizeisnearerto~41800if(cnt++==41763){console.log('finished');returntrue;}returntest();}test();所以上面的代码在chromiumVersion49.0.2623.112m中为我抛出异常,如下所示,Uncaughtexc

javascript - 算法:根据属性总和提取子集

我想要一个算法(没有特定的语言)从一组整数中找到一个子集,使得它们的总和在某个范围内。比如我有一群人,他们的体重如下。varpeople:{jane:126,julia:112,charles:98,john:182,bob:213,edgar:237,jay:223,dan:191,alex:210,david:196}现在,我想从这些人中找到一个子集,其总重量在818-822磅之间(如果你想做数学......别费心了,这些数字不在我的范围内头,我什至不知道这个数据集是否有解决方案)。小组中的人数无关紧要,只是从较大的一组中选出一组。实际上,任何组都可以(尽管在我的情况下随机更好)。

javascript - 递归查找数组中的元素

我有一个对象数组。数组中的每个对象都有一个id和一个item属性,该属性是一个包含其他对象的数组。我需要能够通过id在数组中找到一个元素。这是我到目前为止所做的示例,但递归函数始终返回未定义。递归多次调用函数后,如何退出函数并返回项目?$(function(){vartreeDataSource=[{id:1,Name:"Test1",items:[{id:2,Name:"Test2",items:[{id:3,Name:"Test3"}]}]}];vargetSubMenuItem=function(subMenuItems,id){if(subMenuItems&&subMenuI

javascript - 递归函数的返回值为 'undefined'

每当我执行此代码段时,返回前的console.log都会返回值23的20倍的数组。然而console.log(Check(users,0,20));仅返回“未定义”。我做错了什么?varusers=[23,23,23,23,23,23,23,23,23,23];console.log(Check(users,0,20));functionCheck(ids,counter,limit){ids.push(23);//Recursionif(counter+1 最佳答案 您忘记从进入递归的点返回结果。varusers=[23,23,2

javascript - 我如何递归地进行 JS-Beautify?

我在目录和子目录中有很多HTML文件。我可以通过命令行执行js-beautify命令,并希望将它递归地应用到所有这些文件。我试过了find.-name".html"-typef|js-beautify-randjs-beautify-r|find.-name".html"-typef但它不起作用。但是,如果我提供类似js-beautify-rmyfile.html或js-beautify-r*.html的东西,JS-beautify确实有效(如果是所有文件在目录中但不在子目录中)谁能告诉我应该如何传递这两个命令? 最佳答案 Howe

ChatGPT算法原理

ChatGPT是什么ChatGPT是一种基于AI的聊天机器人,它可以像人类一样与用户进行交流,帮助用户解决问题,或者与用户交谈、讨论。ChatGPT利用自然语言处理(NLP)技术,使用语义理解和自然语言生成来管理数据,以便与用户进行有意义的对话。ChatGPT原理是什么ChatGPT是一种基于GPT-3(GenerativePre-trainedTransformer-3)的对话机器人开发框架,它可以使用自然语言处理(NLP)技术来实现对话系统。GPT-3是一种深度学习技术,语言模型可以学习以往文本,从而能够根据以往的文本来预测下一个词。ChatGPT使用GPT-3来预测用户输入的下一个词,并