Question: Exercise 10.1.8: Recursive Minimum Write a recursive function that finds the minimum value in anArrayList. Your function signature should be public static int findMinimum(ArrayList )

Exercise 10.1.8: Recursive Minimum

Write a recursive function that finds the minimum value in anArrayList.

Your function signature should be

public static int findMinimum(ArrayList)

One way to think of finding a minimum recursively is to think“the minimum number is either the last element in the ArrayList, orthe minimum value in the rest of the ArrayList”.

For example, if you have the ArrayList

[1, 3, 2, 567, 23, 45, 9],

the minimum value in this ArrayList is either 9 or theminimum value in [1, 3, 2, 567, 23, 45]





Hint:
The trick is to remove the last element each time to make theArrayList a little shorter.

RecursiveMin.java

import java.util.*;

public class RecursiveMin
{
public static void main(String[] args)
{
Scanner input = newScanner(System.in);

ArrayList numbers = newArrayList();

while (true){
System.out.println("Please enter numbers. Enter -1 to quit:");
int number =input.nextInt();

if (number ==-1){
break;
}
else {
numbers.add(number);
}
}

int minimum =findMinimum(numbers);
System.out.println("Minimum: " +minimum);
}

public static intfindMinimum(ArrayList numbers)
{

// Base Case: What is the smallestArrayList you can have?
// What is the minimum value of thatarray?

// Recursive call: How do you find theminimum of the rest of the ArrayList?
// (Not including the last element)

// Return: The minimum of (the lastelement, minimum of the rest of the ArrayList)

}
}

Please complete code in Java

Step by Step Solution

3.49 Rating (149 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

Answer import javautil public class RecursiveMin public static void mainString arg... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!