Mountain

<< WordScrambler | APQuestionsTrailIndex | Grub >>

MountainQuestion.pdf

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) );


	}


}