我试图编写一个函数来使用尾递归来查找给定元素的索引。假设列表中包含通过1通过10的数字,并且我正在搜索5,那么输出应该是4。我遇到的问题是使用尾递归“计数”。但是,在这种情况下,我甚至不确定是否需要计算递归调用的数量。我尝试使用!!,但它没有帮助,因为它返回特定位置的元素。我需要这个函数来返回特定元素的位置(正好相反)。代码: whatIndex a (x:xs) = foo a as foo m [] = er
我可以使用不同的方法来开发LIS,比如动态编程和记忆技术,但是,对于特定的情况,我喜欢使用具有O(N^2)时间复杂性的递归来实现LIS。到目前为止,我认为使用递归不能实现时间复杂度为O(N^2)的算法。(请纠正我)Algorithm LIS(A,n,x)2: return 04: if A[n] < x then
5: m =max(m; 1 + LIS