Mountain
<< WordScrambler | APQuestionsTrailIndex | Grub >>
Starter Code
Mountain.java
public class Mountain
{
/** @param array an array of positive integer values
* @param stop the last index to check
* Precondition: 0 <= stop < array.length
* @return true if for each j such that 0 <= j <= stop, array[j] < array[j + 1] ;
* false otherwise
*/
public static boolean isIncreasing(int[] array, int stop)
{ /* implementation by Fr C */
for (int j=0; j<stop; j++)
if (array[j] >= array[j+1]) return false;
return true;
}
/** @param array an array of positive integer values
* @param start the first index to check
* Precondition: 0 <=start < array.length - 1
* @return true if for each j such that start <= j < array.length - 1,
* array[j] > array[j + 1];
* false otherwise
*/
public static boolean isDecreasing(int[] array, int start)
{ /* implementation by Fr C */
for (int j=start; j< array.length-1; j++)
if (array[j] <= array[j+1]) return false;
return true;
}
/** @param array an array of positive integer values
* Precondition: array.length > 0
* @return the index of the first peak (local maximum) in the array, if it exists;
* -1 otherwise
*/
public static int getPeakIndex(int[] array)
{ /* to be implemented in part (a) */
}
/** @param array an array of positive integer values
* Precondition: array.length > 0
* @return true if array contains values ordered as a mountain;
* false otherwise
*/
public static boolean isMountain(int[] array)
{ /* to be implemented in part (b) */
}
// There may be instance variables, constructors, and methods that are not shown.
}
MountainTester.java
import java.util.ArrayList;
public class MountainTester
{
public static void main(String[] args)
{
Mountain m=new Mountain();
int[] a1={11,22,33,22,11};
int[] a2={11,22,11,22,11};
int[] a3={11,22,33,55,77};
int[] a4={99,33,55,77,120};
int[] a5={99,33,55,77,55};
int[] a6={33,22,11};
System.out.println("Testing part (a)" );
System.out.println("Should have peak index 2: "+ m.getPeakIndex(a1) );
System.out.println("Should have peak index 1: "+ m.getPeakIndex(a2) );
System.out.println("Should have peak index -1: "+ m.getPeakIndex(a3) );
System.out.println("Should have peak index -1: "+ m.getPeakIndex(a4) );
System.out.println("Should have peak index 3: "+ m.getPeakIndex(a5) );
System.out.println("Should have peak index -1: "+ m.getPeakIndex(a6) );
System.out.println("Testing part (b)" );
int[] b1={1, 2, 3, 2, 1};
int[] b2={1, 2, 1, 2, 1};
int[] b3={1, 2, 3, 1, 5};
int[] b4={1, 4, 2, 1, 0};
int[] b5={9, 3, 5, 7, 5};
int[] b6={3, 2, 1};
System.out.println("Should be true: "+ m.isMountain(b1) );
System.out.println("Should be false: "+ m.isMountain(b2) );
System.out.println("Should be false: "+ m.isMountain(b3) );
System.out.println("Should be true: "+ m.isMountain(b4) );
System.out.println("Should be false: "+ m.isMountain(b5) );
System.out.println("Should be false: "+ m.isMountain(b6) );
}
}
