Hello, this is my first post; sorry if my format is off, but I need to use a recursive method to find the minimum value of an array of integers. I feel like I'm almost there, but it is not working. I continuously get the value of zero returned. I may be referencing the position in the array, rather than getting the value, but I'm not sure.
I am aware that this can be done without using recursion, however, I need to do this recursively. If anyone can help, it would be greatly appreciated. Thanks in advance! My code is posted below:
import java.io.*;
public class Main{
public static int minimum(int[] data, int first, int last) {
int M2;
int M1;
int mid;
int min;
if(first==last)
{
min= data[0];
return min;
}
else
{
mid = data[(first + last)/2];
M2= minimum(data, (++mid), last);
M1= minimum(data, (++first), mid);
if(M2<M1)
return M2;
else
return M1;}
}
public static void main(String[] args) {
int firstIndex, lastIndex;
int[] ints = new int[10];
ints[0] = 20;
ints[1] = 18;
ints[2] = 40;
ints[3] = 34;
ints[4] = 50;
ints[5] = 40;
ints[6] = 20;
ints[7] = 13;
ints[8] = 98;
ints[9] = 1;
int f = 4;
int val = 20;
firstIndex = 0;
lastIndex = ints.length - 1;
System.out.println("the minimum value from the ints array is " + minimum(ints, firstIndex, lastIndex));
}
}