numUnique

Category: Arrays
Author: Stuart Reges
Book Chapter: 7.2
Problem: numUnique
  Write a static method called numUnique that takes a
   sorted array of integers as a parameter and that returns the number of
   unique values in the array.  The array is guaranteed to be in sorted order,
   which means that duplicates will be grouped together.  For example, if a
   variable called "list" stores the following values:

        [5, 7, 7, 7, 8, 22, 22, 23, 31, 35, 35, 40, 40, 40, 41]

   then the following call:

        numUnique(list)

   should return 9 because this list has 9 unique values (5, 7, 8, 22, 23, 31,
   35, 40 and 41).  It is possible that the list might not have any
   duplicates.  For example if list instead stored this sequence of values:

        [1, 2, 11, 17, 19, 20, 23, 24, 25, 26, 31, 34, 37, 40, 41]
   
   then a call on the method would return 15 because this list contains 15
   different values.

   If passed an empty list, your method should return 0.  Remember that you can
   assume that the values in the array appear in sorted (nondecreasing) order.

   You are not allowed to use an auxiliary data structure such as a temporary
   array or ArrayList to solve this problem and you are not allowed to call any
   methods of the Arrays class or the Collections class.