Package algs11

Class MyFirstHomeworkFor300

java.lang.Object
algs11.MyFirstHomeworkFor300

public class MyFirstHomeworkFor300 extends Object
This is a skeleton file for your homework. Edit the sections marked TODO. You may also edit the function "main" to test your code. You must not change the declaration of any method. This will be true of every skeleton file I give you. For example, you will get zero points if you change the line
     public static int minPosition (double[] list) {
 
to something like
     public static double minPosition (double[] list) {
 
or
     public static int minPosition (double[] list, int i) {
 
Each of the functions below is meant to be SELF CONTAINED. This means that you should use no other functions or classes. You should not use any HashSets or ArrayLists, or anything else! In addition, each of your functions should go through the argument array at most once. The only exception to this the java Math.abs. You can use the Math.abs function to compute the absolute value.
  • Constructor Details

  • Method Details

    • minValue

      public static double minValue(double[] list)
      minValue returns the minimum value in an array of doubles. You can assume the array is nonempty and has no duplicates. Your solution must go through the array exactly once. Your solution must not call any other functions. Here are some examples (using "==" informally):
         -7  == minValue (new double[] { -7 })
          1  == minValue (new double[] { 1, 7, 8, 11 })
         -7  == minValue (new double[] { 1, -4, -7, 7, 8, 11 })
         -13 == minValue (new double[] { -13, -4, -7, 7, 8, 11 })
         -13 == minValue (new double[] { 1, -4, -7, 7, 8, 11, -13 })
       
    • minPosition

      public static int minPosition(double[] list)
      minPosition returns the position of the minimum value in an array of doubles. The first position in an array is 0 and the last is the array.length-1. You can assume the array is nonempty and has no duplicates. Your solution must go through the array exactly once. Your solution must not call any other functions. Here are some examples (using "==" informally):
         0 == minPosition(new double[] { -7 })
         2 == minPosition(new double[] { 1, -4, -7, 7, 8, 11 })
         0 == minPosition(new double[] { -13, -4, -7, 7, 8, 11 })
         6 == minPosition(new double[] { 1, -4, -7, 7, 8, 11, -9 })
       
    • distanceBetweenMinAndMax

      public static int distanceBetweenMinAndMax(double[] list)
      distanceBetweenMinAndMax returns difference between the minPosition and the maxPosition in an array of doubles. You can assume the array is nonempty and has no duplicates. Your solution must go through the array exactly once. Your solution must not call any other functions. Here are some examples (using "==" informally):
         0 == distanceBetweenMinAndMax(new double[] { -7 })                      // -7,-7 are the min and max
         3 == distanceBetweenMinAndMax(new double[] { 1, -4, -7, 7, 8, 11 }),    // -7,11
         5 == distanceBetweenMinAndMax(new double[] { -13, -4, -7, 7, 8, 11 })   // -13,11
         1 == distanceBetweenMinAndMax(new double[] { 1, -4, -7, 7, 8, 11, -9 }) // -9,11
       
    • main

      public static void main(String[] args)
      A test program, using private helper functions. See below. To make typing tests a little easier, I've written a function to convert strings to arrays. See below.
    • main1

      public static void main1(String[] args)
    • testMinValue

      private static void testMinValue(double expected, String list)
    • testMinPosition

      private static void testMinPosition(int expected, String list)
    • testDistanceBetweenMinAndMax

      private static void testDistanceBetweenMinAndMax(int expected, String list)
    • doublesFromString

      private static double[] doublesFromString(String s)