×

Loading...

一道面试题,大家给出出主意哈,我一点头绪都没有

本文发表在 rolia.net 枫下论坛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 series values and returns the length of the longest arithmetic series that can be formed from values.

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.
- Solution should NOT use a 2-dimensional array/matrix as the main data structure
- Need a method named longest which computes the longest Arithmetic Series given an array of integers (public int longest(int[] values))
- Class needs to be named ASeries
- Make sure to submit as a *.java file (Feel free to include anything else you might think necessary)

Examples
0)
{3,8,4,5,6,2,2}
Returns: 5
No arithmetic series using these values is longer than 2,3,4,5,6.

1)
{-1,-5,1,3}
Returns: 3
-1, 1, 3 is an arithmetic series (so is 3,-1,-5).

2)
{-10,-20,-10,-10}
Returns: 3
-10,-10,-10 is an arithmetic series.更多精彩文章及讨论,请光临枫下论坛 rolia.net
Report