用递归方法求数组的最大值
来源:互联网 发布:java utf 8编码 编辑:程序博客网 时间:2024/05/17 07:03
1、直接利用递归:
- package programmer;
- import java.util.Scanner;
- /*
- * 利用递归算法求最大值
- */
- public class MaxRecursion {
- public int maxRecursion(int[] A, int low, int high) {
- if (low > high)
- return -1;
- else {
- if (A[low] < maxRecursion(A, low + 1, high))
- return maxRecursion(A, low + 1, high);
- else
- return A[low];
- }
- }
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int N = sc.nextInt();
- int[] A = new int[N];
- for (int i = 0; i < A.length; i++)
- A[i] = sc.nextInt();
- System.out.println(new MaxRecursion().maxRecursion(A, 0, A.length - 1));
- }
- }
- package programmer;
- import java.util.Scanner;
- /*
- * 利用二分查找法递归寻找数组中的最大值
- */
- public class MaxBinarySearch {
- public int maxBinarySearch(int[] A, int low, int high) {
- if (low > high)
- return -1;
- else {
- int mid = (low + high) / 2;
- int tmp = maxBinarySearch(A, low, mid - 1) > maxBinarySearch(A,
- mid + 1, high) ? maxBinarySearch(A, low, mid - 1)
- : maxBinarySearch(A, mid + 1, high);
- return tmp > A[mid] ? tmp : A[mid];
- }
- }
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- int N = sc.nextInt();
- int[] A = new int[N];
- for (int i = 0; i < A.length; i++)
- A[i] = sc.nextInt();
- System.out.println(new MaxBinarySearch().maxBinarySearch(A, 0,
- A.length - 1));
- }
- }
但是复杂度并没有减少,只是提供一种新的思考方法。
阅读全文
1 0
- 用递归方法求数组的最大值
- 用递归方法求数组的最大值
- 递归方法求数组最大值
- 用递归求数组最大值的位置
- 用递归求数组最大值的位置
- 利用递归方法求一个数组的最大值
- Java利用递归的方法求整数数组中的最大值
- 递归方法求整型数组中最大值
- 用递归的方法求数组中元素的最大值和最小值
- java递归求数组最大值
- Java 递归求数组最大值
- 求数组中的最大值 —用递归算法求数组中的最大值。
- 求最大值,递归与非递归方法
- 求数组的最大值
- 求数组中最大值,用递归函数实现
- [编程题]用递归求数组最大值的位置(索引,下标)
- 【hpu oj 1127 用递归求数组中元素的最大值以及下标】
- 【java】递归求数组中的最大值
- 顺序表应用4-2:元素位置互换之逆置算法(数据改进)
- LeetCode 329. Longest Increasing Path in a Matrix
- Nexus Repository Manager 3 installing with Docker
- 集合collection
- 62.Scala中上下文界定内幕中的隐式参数与隐式参数的实战详解及其在Spark中的应用源码解析
- 用递归方法求数组的最大值
- Pycharm上安装tensorflow的方法
- 【矩阵快速幂+输入终止条件判断】Contemplation! Algebra UVA
- HTTP协议浅谈(一)之TCP长连接
- android开发:网络编程之post与get请求区别?
- 位运算
- BZOJ 1034 [ZJOI2008]泡泡堂BNB 贪心
- 顺序表应用5:有序顺序表归并
- 注入进阶之OS命令行注入