JollyJumperQ[s_] := Sort@Abs@Differences@s == Range[Length@s - 1];
JollyJumperQ[{0, 2, 1, 4}]
> True
JollyJumperQ[{0, 1, 2}]
> False
f[s_] := s # & /@ Tuples[{-1, 1}, Length@s];
g[s_] := Accumulate@Prepend[#, 0] & /@ f@s;
h[n_] := g /@ Permutations[Range[n - 1]];
JollyJumpers[x_, n_] := Flatten[x + h@n, 1];
JollyJumpers[5, 3]
> {{5, 4, 2}, {5, 4, 6}, {5, 6, 4}, {5, 6, 8}, {5, 3, 2}, {5, 3, 4}, {5, 7, 6}, {5, 7, 8}}
JollyJumpers[0, 4]
> {{0, -1, -3, -6}, {0, -1, -3, 0}, {0, -1, 1, -2}, {0, -1, 1, 4}, {0, 1, -1, -4}, {0, 1, -1, 2}, {0, 1, 3, 0}, {0, 1, 3, 6}, {0, -1, -4, -6}, {0, -1, -4, -2}, {0, -1, 2, 0}, {0, -1, 2, 4}, {0, 1, -2, -4}, {0, 1, -2, 0}, {0, 1, 4, 2}, {0, 1, 4, 6}, {0, -2, -3, -6}, {0, -2, -3, 0}, {0, -2, -1, -4}, {0, -2, -1, 2}, {0, 2, 1, -2}, {0, 2, 1, 4}, {0, 2, 3, 0}, {0, 2, 3, 6}, {0, -2, -5, -6}, {0, -2, -5, -4}, {0, -2, 1, 0}, {0, -2, 1, 2}, {0, 2, -1, -2}, {0, 2, -1, 0}, {0, 2, 5, 4}, {0, 2, 5, 6}, {0, -3, -4, -6}, {0, -3, -4, -2}, {0, -3, -2, -4}, {0, -3, -2, 0}, {0, 3, 2, 0}, {0, 3, 2, 4}, {0, 3, 4, 2}, {0, 3, 4, 6}, {0, -3, -5, -6}, {0, -3, -5, -4}, {0, -3, -1, -2}, {0, -3, -1, 0}, {0, 3, 1, 0}, {0, 3, 1, 2}, {0, 3, 5, 4}, {0, 3, 5, 6}}
JollyJumpers[n_] := JollyJumpers[0, n];
Length@JollyJumpers[#] & /@ Range[8]
> {1, 2, 8, 48, 384, 3840, 46080, 645120}
(2 #)!! & /@ Range[0, 7]
> {1, 2, 8, 48, 384, 3840, 46080, 645120}