Statistics

Problem Statement for "ASeries"

Problem Statement

*** You may only submit a given problem once - no resubmissions will be accepted. ***

An arithmetic series consists of a sequence of terms such that each term minus its immediate predecessor gives the same result. For example, the sequence 3,7,11,15 is the terms of the arithmetic series 3+7+11+15; each term minus its predecessor equals 4. (Of course there is no requirement on the first term since it has no predecessor.)

Given a collection of integers, we want to find the longest arithmetic series that can be formed by choosing a sub-collection (possibly the entire collection). Create a class ASeries that contains a method longest that is given a int[] values and returns the length of the longest arithmetic series that can be formed from values.

Definition

Class:
ASeries
Method:
longest
Parameters:
int[]
Returns:
int
Method signature:
int longest(int[] values)
(be sure your method is public)

Constraints

  • values will contain between 2 and 50 elements inclusive.
  • Each element of values will be between -1,000,000 and 1,000,000 inclusive.

Examples

  1. {3,8,4,5,6,2,2}

    Returns: 5

    No arithmetic series using these values is longer than 2,3,4,5,6.

  2. {-1,-5,1,3}

    Returns: 3

    -1, 1, 3 is an arithmetic series (so is 3,-1,-5).

  3. {-10,-20,-10,-10}

    Returns: 3

    -10,-10,-10 is an arithmetic series.

  4. {2,5,9,24,34,36,39}

    Returns: 3

  5. {1,2,3,4,5,6,7,8,9,11,13,17,15,21,19,23,25}

    Returns: 13

  6. {1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5}

    Returns: 9

  7. {1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,1,1,1,1,1,6,7,8,9,1,2,3,4,5,6,7,8,9,1,2,3,4,5}

    Returns: 10

  8. {50,49,48,47,46,44,43,42,41,40,38,37,36,35,34,32,31,30,29,28}

    Returns: 12

  9. {500000,490000,480000,470000,460000,440000,430000,420000,410000,400000,380000,370000,360000,350000,340000,320000,310000,300000,290000,280000}

    Returns: 12

  10. {7,1,2,3,20,13,19}

    Returns: 4

  11. {1000000,712347}

    Returns: 2

  12. {1000000,712347,1}

    Returns: 2

  13. {-1000000,3,4,5,-200000,1,200000,12,-600000}

    Returns: 4

  14. {-8,-24,-32,-40,0}

    Returns: 3

  15. {-8,-24,-32,-40,0,1,2,-16}

    Returns: 6

  16. {-8,-24,-32,-40,0,1,2,-16,0,0,0,0,1000,-0,0}

    Returns: 7


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: