-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. 以遞歸方式在Python中找到列表中第k個最大的int
- 2. 使用遞歸在數組中尋找第k個最小的元素?
- 3. 遞歸地查找數組的最大元素
- 4. 在scala中遞歸地查找列表中的最大值
- 5. 查找最大數量遞歸函數返回無?
- 6. 在未排序的向量中查找第K個最小元素(迭代式)
- 7. 遞歸地查找第k個到單個鏈接列表的最後一個元素-Python
- 8. 在數組中找到第K個最大整數
- 9. 在BST中打印第k個最小,難以遞歸
- 10. 查找遞歸函數中的最大數字
- 11. 查找未排序數組中的第k個最小元素
- 12. 遞歸地查找鏈表的最大值
- 13. 以遞歸方式查找數組中的最大值
- 14. Java遞歸查找數組中的最大總和
- 15. 排列中第k個最大元素
- 16. 查找最-K
- 17. 找到列表中第K個最大元素的程序
- 18. 使用遞歸查找數組的最大數
- 19. 在數組遞歸方法中查找最大整型值
- 20. Scala:遞歸地找到數組的最大值
- 21. 查找K最大的子串
- 22. 查找大小遞歸
- 23. 找到第2個元素中第k個元素的最大值
- 24. Groovy ::地圖查找遞歸
- 25. 在向量中查找當地最大值
- 26. 查找二叉樹的最小數量遞歸
- 27. 在二叉搜索樹中查找K個最大的元素
- 28. 如何遞歸查找鏈表中的最大值?
- 29. 查找2D矩陣中的最大值(遞歸)
- 30. 在O(log n)中查找第k個最小元素
歡迎來到stackoverflow.com。 請看看關於頁面。你通常應該首先展示你自己的方法或解決方案(「展示你的工作」),並詢問爲什麼它不起作用,而不是讓社區解決你的問題。 –