因此使用for循環或while循環找到數組的最大值非常簡單,但我想用遞歸來試驗它。出於某種原因,子字符串不起作用 - 它說「找不到符號」。爲什麼是這樣?我的策略是繼續細分和比較雙方,直到只剩下一個應該是最大的....我做對了嗎?謝謝使用遞歸查找數組的最大數
0
A
回答
1
由於array
的類型爲int[]
而不是String
,因此不能使用substring()
。相反,請記錄您正在搜索的索引。每次迭代複製數組都浪費空間和時間。
int max(int[] array){ return max(array, 0, array.length - 1); }
int max(int[] array, int low, int high)
{
if (low == high) {
return array[low];
}
else {
int mid = (high + low)/2;
int leftmax = max(array, low, mid);
int rightmax = max(array, mid, high);
if (leftmax > rightmax) {
return leftmax;
}
else {
return rightmax;
}
}
}
4
您打算使用Arrays.copyOfRange
。 Substring
不會在陣列上工作。
int[] firstHalf = Arrays.copyOfRange(original, 0, original.length/2);
int[] secondHalf = Arrays.copyOfRange(original, original.length/2, original.length);
我不能評論你的算法。
相關問題
- 1. 使用PHP中的遞歸在數組中尋找最大值
- 2. 以遞歸方式查找數組中的最大值
- 3. 遞歸地查找數組的最大元素
- 4. Java遞歸查找數組中的最大總和
- 5. 使用遞歸在數組中尋找最大值
- 6. 使用遞歸在數組中尋找最大值java
- 7. 在數組遞歸方法中查找最大整型值
- 8. 使用遞歸找到整數中的最大數字
- 9. 通過遞歸找到數組中的最大正整數
- 10. 查找遞歸函數中的最大數字
- 11. 使用遞歸函數(Python)查找數組中的最小整數
- 12. 如何使用遞歸在數字中查找最大的數字?
- 13. 查找最大數量遞歸函數返回無?
- 14. 使用遞歸找到最大數組數的代碼始終返回數組中的最後一項
- 15. 通過遞歸找到數組中的最大值
- 16. Scala:遞歸地找到數組的最大值
- 17. 使用遞歸問題的一個數組的C++最大值
- 18. 遞歸地查找向量中第k個最大的數
- 19. 使用遞歸獲取數組中最大的元素
- 20. 使用遞歸尋找數組的最小值?
- 21. 使用遞歸查找素數
- 22. 查找數組中的最大分數
- 23. 使用尾遞歸來查找列表的最大值
- 24. Mergesort - 遞歸調用的最大數目
- 25. 使用遞歸在Java中進行最大子數組檢測
- 26. 使用遞歸查找數組元素 - JavaScript的
- 27. 使用遞歸在數組中尋找第二大元素
- 28. 在數組中查找最大整數?
- 29. 查找遞歸函數
- 30. 使用JavaScript函數查找數組中的最大值
這是什麼編程語言? Java的? JavaScript的? –
我正在使用Java。 – Freedom
爲什麼遞歸?你可能會吹你的堆棧。 – Brian