hasTwoPair
Category: Programming
Author: Stuart Reges
Book Chapter: 7.2
Problem: hasTwoPair
Write a static method called hasTwoPair that takes
an array of integers in the range of 1 to 6 as a parameter and that returns
whether or not the array contains two values that appear twice (true if it
does, false if it does not). This is a problem from the game of Yahtzee in
which players roll five dice and look for various combinations, but your
solution should not depend on the array containing five values. You can,
however, make use of the fact that all of the numbers will be in the range
of 1 to 6.
Your method should return true when exactly two values appearing in the
array occur exactly two times. If one value appears two times and another
appears three times, that would not count as two pairs. Similarly, if
there are three numbers that appear two times, that would not count as two
pairs. There must be exactly two such numbers and each must occur exactly
two times. Below are examples of arrays and the value that should be
returned for each by hasTwoPair:
Contents of array Value returned
------------------ --------------
{2, 4, 2, 2, 4} false
{3, 4, 3, 6, 6} true
{4, 1, 4, 4, 2} false
{5, 5, 3, 3, 4} true
{6, 2, 6, 5, 3} false
{1, 3, 5, 3, 1} true
{3, 1, 3, 1} true
{1, 2, 3, 1, 2, 3} false