-2
A
回答
0
好,
搜索在向量数量最多,从载体中删除,重复ķ倍。
在伪代码:
function findKthHighestNumber(vetor, k):
i := findIndexOfHighestNumber(vector)
if k = 1:
return vector[i]
else
return findKthHighestNumber(concat(vector[0..i-1], vector[i+1..vector.length]), k-1)
当然,实际执行将取决于所使用的编程语言。此外,findIndexOfHighestNumber
应当提供为好,但是这是一个不同的任务......
+0
这只是迭代,而不是递归。 –
+0
好吧,我可能会有点短。添加了伪代码来演示。这显示了它是如何递归的。 –
0
你使用一个辅助像
(define (nth-max vec nth cur-idx cur-max lower-than)
...)
或相同命名的让利。在它的逻辑应:
- 如果CUR-IDX是相同矢量长度 A.第n是大于1:与复发低于作为CUR-max和由1减少第n个和设置CUR-IDX至0. B.其他cur-max是解决方案。
- 姜黄素,IDX为CUR-MAX复发,如果它比CUR-MAX比低于
较高和较低的你可以开始低于为+ Inf.0和CUR-MAX是第一要素as -Inf.0。如果结果是-Inf.0,那么就没有解决方案。找到第二大#(5 5 5 5)
相关问题
- 1. 使用递归在数组中寻找第k个最小的元素?
- 2. 递归地查找数组的最大元素
- 3. 在未排序的向量中查找第K个最小元素(迭代式)
- 4. 在数组中找到第K个最大整数
- 5. 在BST中打印第k个最小,难以递归
- 6. 查找未排序数组中的第k个最小元素
- 7. 以递归方式查找数组中的最大值
- 8. Java递归查找数组中的最大总和
- 9. 排列中第k个最大元素
- 10. 查找最-K
- 11. 找到列表中第K个最大元素的程序
- 12. 使用递归查找数组的最大数
- 13. 在数组递归方法中查找最大整型值
- 14. Scala:递归地找到数组的最大值
- 15. 查找K最大的子串
- 16. 查找大小递归
- 17. Groovy ::地图查找递归
- 18. 找到第2个元素中第k个元素的最大值
- 19. 在向量中查找当地最大值
- 20. 查找二叉树的最小数量递归
- 21. 查找2D矩阵中的最大值(递归)
- 22. 在O(log n)中查找第k个最小元素
- 23. 查找小于特定值的向量中的最大数字
- 24. 找到最大值的递归方法
- 25. 找到第k个最短路径?
- 26. 找到第k个最小元素
- 27. 通过递归找到数组中的最大正整数
- 28. 使用递归找到整数中的最大数字
- 29. 查找向量中多个最大值的下标
- 30. 查找第二个向量中的向量元素
欢迎来到stackoverflow.com。 请看看关于页面。你通常应该首先展示你自己的方法或解决方案(“展示你的工作”),并询问为什么它不起作用,而不是让社区解决你的问题。 –