草庐IT

递归方程

全部标签

java - 如何使用正则表达式递归匹配模式?

字符串可以是以下之一:a(b,c)a(a(b,c),d)a(a(a(a(a(b,c),d),a(e,f)),g),h)etc我想匹配无限数量的“a(x,y)”。我怎样才能使用Regex做到这一点?这是我拥有的:\\w\\(((?:\\([a-zA-Z0-9]+\\))|(?:[a-zA-Z0-9]+)),((?:\\([a-zA-Z0-9]+\\))|(?:[a-zA-Z0-9]+))\\)它只匹配“a(x,y)”的两个递归。 最佳答案 Java的标准正则表达式库不支持递归,所以你不能用它匹配这种通用的嵌套结构。但在支持递归的风格中

java - 递归地找到二叉搜索树中每个节点的总深度?

我已经解决这个问题一段时间了,但我不太明白其中的逻辑。假设我有一个如下所示的二叉树:81*0=0/\4122*1=2/\/\2610144*2=8----10我想找到每个节点的深度并将这些数字加在一起得到总数。我现在得到的代码看起来像这样:privateinttotalDepth(Nodenode,intdepth){if(node==null){return0;}returntotalDepth(node.left,depth+1)+totalDepth(node.right,depth+1);}我认为这会在遍历树的右侧之前递归地向树左侧的每个更深的级别添加一个(8->4->2),但

java - 递归的字符串置换

我是一名Java初学者,正在尝试根据Java编程书籍进行字符串排列练习。我正在定义两种方法:publicstaticvoiddisplayPermutation(Strings)publicstaticvoiddisplayPermutation(Strings1,Strings2)第一个方法只是调用displayPermutation("",s)。第二种方法使用循环将字符从s2移动到s1,并使用新的s1和s2递归调用它。基本情况是s2为空并将s1打印到控制台。谁能帮我找出下面代码的问题是什么?她的例子:publicstaticvoiddisplayPermutation(String

java - 这个递归循环代码是如何执行的

我有一些代码行我无法理解代码是如何执行的,我的意思是程序流程。代码:1)publicclassRecurLoopTest{2)publicstaticvoidmain(String[]args){3)printit(2);4)}5)privatestaticintprintit(intn){6)if(n>0){7)printit(--n);8)}9)System.out.print(n+",");10)returnn;11)}12)}我认为输出应该是:0,但输出是:0,0,1,我在类里面做了很多次DEBUG,我在调试时看到的流程:从第3行开始执行,即以2作为参数调用printit()。

java - 如何使用递归实现dfs?

我正在尝试使用以下代码通过递归实现DFS,publicstaticvoiddfs(inti,int[][]mat,boolean[]visited){visited[i]=true;//Marknodeas"visited"System.out.print(i+"\t");for(intj=0;j我有一个矩阵和一个数组用于跟踪访问过的节点,//adjacencymatrixforuni-directionalgraphint[][]arr={//12345678910{0,1,1,1,0,0,0,0,0,0},//1{0,0,0,0,0,0,1,0,0,0},//2{0,0,0,0,0

java - 用于查找具有任意数量变量的任意数量线性方程的任意解的库

我必须找到具有任意数量变量的任意数量的给定线性方程的任意解(可能存在很多或不存在)。在java。使用什么库和方法?实现什么?我想尽可能少地工作。 最佳答案 试试ApacheCommons数学求解器http://commons.apache.org/math/userguide/linear.html 关于java-用于查找具有任意数量变量的任意数量线性方程的任意解的库,我们在StackOverflow上找到一个类似的问题: https://stackoverf

java - 在国际象棋编程中很好地使用递归?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。作为家庭作业的一部分,我必须用Java编写一个简单的国际象棋游戏。我想借此机会尝试递归,我想知道国际象棋中是否有明显的递归代码候选人?

java - 为什么Eclipse中的显示不支持Java中的递归函数?

我在EclipseIDE中用Java实现了阶乘函数。publicclassUtilities{publicstaticintfactorial(intn){intresult;if(n在Eclipse的显示中,我检查了Utilities.factorial(6)。但是,我收到此错误。Utilities.factorial(6);Evaluationfailed.Reason(s):Cannotperformnestedevaluations.为什么显示不支持递归调用?是这个问题吗? 最佳答案 要返回答案,它必须计算表达式,为此它必须

java - 算术递归

我正在尝试编写一段代码,为给定的整数n计算以下内容:1/1+1/2+1/3...+1/n这是我到目前为止编写的代码:publicclassRecursiveSum{publicstaticdoubleSumto(intn){if(n==0){return0.0;}elseif(n>0){return1/n+1/Sumto(n-1);}else{thrownewIllegalArgumentException("Pleaseprovidepositiveintegers");}}publicstaticvoidmain(String[]args){System.out.println(S

java - 返回一些负数的递归阶乘方法

这是我的阶乘方法:publicstaticlongfactorial(intnum1){if(num1这就是所谓的递归阶乘方法:for(i=0;i到目前为止一切顺利,起初输出似乎是正确的,但一些阶乘是负数而不是正数:OUTPUT:0!=11!=12!=23!=64!=245!=1206!=7207!=5,0408!=40,3209!=362,88010!=3,628,80011!=39,916,80012!=479,001,60013!=6,227,020,80014!=87,178,291,20015!=1,307,674,368,00016!=20,922,789,888,0001