TopCoder problem "Coherency" used in TCCC06 Semi 1 (Division I Level One)



Problem Statement

    We are given a collection of integers and a positive number, maxJump. We are interested in different ways of arranging all the integers from the collection into a "satisfactory sequence". A sequence is satisfactory if it has the property that the absolute value of the difference between adjacent values is always less than or equal to maxJump.

Create a class Coherency that contains a method starters that is given a int[] collection and positive number maxJump. It returns the number of distinct values from collection that could be the starting value in a satisfactory sequence.

 

Definition

    
Class:Coherency
Method:starters
Parameters:int[], int
Returns:int
Method signature:int starters(int[] collection, int maxJump)
(be sure your method is public)
    
 

Constraints

-collection will contain between 1 and 50 elements, inclusive.
-Each element in collection will be between -1,000,000,000 and 1,000,000,000, inclusive.
-maxJump will be between 0 and 1,000,000,000, inclusive.
 

Examples

0)
    
 {8,1,1,1,1}
6
Returns: 0
However the values are arranged there must be a jump of 7.
1)
    
{8,1,1,1,1}
7
Returns: 2
Any arrangement of these values has a maximum jump of 7. So we could start a satisfactory sequence with either a 1 or with the 8.
2)
    
{6,1,11,5,7,1}
4
Returns: 2
(1,1,5,6,7,11) is a satisfactory sequence starting with 1. (11,7,6,5,1,1} is a satisfactory sequence starting with 11. There is no satisfactory sequence that starts with any of the other values, so there are 2 distinct possible starting values.

Problem url:

http://www.topcoder.com/stat?c=problem_statement&pm=6831

Problem stats url:

http://www.topcoder.com/tc?module=ProblemDetail&rd=10132&pm=6831

Writer:

dgoodman

Testers:

PabloGilberto , brett1479 , Yarin , Olexiy

Problem categories:

Search, Sorting