Problem Statement
Given a sequence of K elements, we can calculate its difference sequence by taking the difference between each pair of adjacent elements. For instance, the difference sequence of {5,6,3,9,-1} is {6-5,3-6,9-3,-1-9} = {1,-3,6,-10}. Formally, the difference sequence of the sequence a1, a2, ... , ak is b1, b2, ... , bk-1, where bi = ai+1 - ai.
The derivative sequence of order N of a sequence A is the result of iteratively applying the above process N times. For example, if A = {5,6,3,9,-1}, the derivative sequence of order 2 is: {5,6,3,9,-1} -> {1,-3,6,-10} -> {-3-1,6-(-3),-10-6} = {-4,9,-16}.
You will be given a sequence a as a
Definition
- Class:
- DerivativeSequence
- Method:
- derSeq
- Parameters:
- int[], int
- Returns:
- int[]
- Method signature:
- int[] derSeq(int[] a, int n)
- (be sure your method is public)
Notes
- The derivative sequence of order 0 is the original sequence. See example 4 for further clarification.
Constraints
- a will contain between 1 and 20 elements, inclusive.
- Each element of a will be between -100 and 100, inclusive.
- n will be between 0 and K-1, inclusive, where K is the number of elements in a.
Examples
{5,6,3,9,-1}
1
Returns: {1, -3, 6, -10 }
The first example given in the problem statement.
{5,6,3,9,-1}
2
Returns: {-4, 9, -16 }
The second example given in the problem statement.
{5,6,3,9,-1}
4
Returns: {-38 }
{4,4,4,4,4,4,4,4}
3
Returns: {0, 0, 0, 0, 0 }
After 1 step, they all become 0.
{0,3,9,18}
3
Returns: {0 }
{-100,100}
0
Returns: {-100, 100 }
{-100,100}
1
Returns: {200 }
{100,-100}
1
Returns: {-200 }
{-100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100 }
19
Returns: {52428800 }
{-100}
0
Returns: {-100 }
{-100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100 }
15
Returns: {3276800, -3276800, 3276800, -3276800, 3276800 }
{100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100 }
18
Returns: {26214400, -26214400 }
{-94,83,-100,-90,-99,3,-97,7,-15,-30,74}
10
Returns: {-37681 }
{51,-86,-15,-24,69,-72,-22,16,55,-55,-88,46,15,-53,-60,-40,-82,7,-36,31}
19
Returns: {1074506 }
{-21,75,67,80,66,50,70,-13,-47,-44,7,71,6,45,16,70,-23,-68,-84,-17}
19
Returns: {3062329 }
{87,54,15,70,-20,-26,-58,-83,97,-23,9,16,92,-40}
13
Returns: {-186443 }
{71,96,-32,-12,-11,51,-62,92,-95,-89,-57,44,45,5,-83,-6,70,-45,73,78}
19
Returns: {13232177 }
{6,79,96,50,94,-56,-13,65,-54,-72,72,-100,28,-33,21,32,-57,46,-7,-11}
19
Returns: {-16496406 }
{-8,-19,35,-16,8,10,71,-9,-38,-70,60,79,-74,-5,-95,65,-84,-75,1,0}
13
Returns: {-148860, 143067, -113928, 38763, 86614, -230187, 346834 }
{-84,49,-13,44,99,25,97,-66,-53,82,75,-34,-4,-24}
13
Returns: {-201232 }
{-54,14,-51,77,-95,-73,-72,-27,-87,-3,-62,-72,-52,-81,-25,37,15,-43,74,48}
12
Returns: {-100566, 99399, -100788, 84901, -48983, 8048, 18673, -23704 }
{-34,37,-92,-3,-65,0,59,23,-62,53,-31,32,59}
12
Returns: {-46486 }
{-4,68,-27,88,37,2,69,8,-69,-77,-63,46,73,-24,8,-76,-96,-42,-12,77}
18
Returns: {-817623, 452095 }
{-79,-85,51,-16,-12,-50}
5
Returns: {-1006 }
{-55,-60,-31,-12,-3,-8,-55,-92,61,-87,45,-35,32,-97,-46,-49}
15
Returns: {-1374708 }
{-45,-81,-27,23,65,-48,-47,81}
7
Returns: {-2023 }
{-75,20,-29,-82,76,79,-11,-43,-40,51,-7,47,-15,-18,0,-2,-26,69,65,-3}
17
Returns: {2536680, -2841097, 2691891 }
{-33,-69,-94,-60,51,-25,-42,59,13,39,-41,-98,13,-18,-25,-98,-93}
2
Returns: {11, 59, 77, -187, 59, 118, -147, 72, -106, 23, 168, -142, 24, -66, 78 }
{-68,87,65,63,75,64,13}
6
Returns: {-121 }
{-41,58,-28,-100,10,10,-38,14,-74,80,-24,-8,-20,-18}
13
Returns: {228251 }
{-56,-9,-63,-11,46,-22,61,-20,86,-13,58,-26,57,46,-78,-6,57,7,85,97}
19
Returns: {-18916817 }
{-4,73,22,-39,18,-21,60,-83,-81,61,23,92,-63,-98,-22,-12,53}
11
Returns: {-61031, 41675, -3640, -36921, 62637, -65772 }
{11,92,12}
1
Returns: {81, -80 }
{37,60}
1
Returns: {23 }
{92,-90,17,7,-84,-56,78,-41,-44,-42,-1,-59,83,59,48,-88,-49,89,-57,39}
18
Returns: {6169523, -6674245 }
{11,26,20,81,-85,78,89}
6
Returns: {-3119 }
{-45,-41,-90,92,-23,75,51,79,16,16,29,19}
10
Returns: {-36636, 25776 }
{10,25,-31,-20,-88,-42,-89,-7,-26,86,-5,-61,18,-63,-43,-39,-46,-51}
9
Returns: {12991, -14025, 15087, -15967, 14437, -7861, -2302, 10260, -11779 }
{4,71,10,9,62,-42,-95,-82,-60,6,-23,8,64,-35,-80,-18,82,89,11,-60}
0
Returns: {4, 71, 10, 9, 62, -42, -95, -82, -60, 6, -23, 8, 64, -35, -80, -18, 82, 89, 11, -60 }
{-8,13}
0
Returns: {-8, 13 }
{14,-17,94,-34,-14,36,47,-50,61,48,-82,89,-93,96,-15}
0
Returns: {14, -17, 94, -34, -14, 36, 47, -50, 61, 48, -82, 89, -93, 96, -15 }
{92,78,51,24,-99,-2,-11,-94,30,-46,-1,31,11,35,-87,36,63,43,51,-47}
0
Returns: {92, 78, 51, 24, -99, -2, -11, -94, 30, -46, -1, 31, 11, 35, -87, 36, 63, 43, 51, -47 }
{100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100, 100, -100 }
19
Returns: {-52428800 }
{5, 6, 3, 9, -1 }
2
Returns: {-4, 9, -16 }
{4, 4, 4, 4, 4, 4, 4, 4 }
3
Returns: {0, 0, 0, 0, 0 }
{5, 6, 3, 9, -1 }
4
Returns: {-38 }
{39, 29, 1, -23, 12, 4, -29, 39, 10, -19, 99, 12, -39, -16, 2 }
10
Returns: {-5965, 10849, -6951, -5769, 18632 }
{4, 4, 4, 4, 4, 4, 4, 4 }
6
Returns: {0, 0 }
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }
19
Returns: {0 }
{-100, 100 }
0
Returns: {-100, 100 }