Series from For loop (is there a repository for Integer Sequences?)

Here’s both repeatedIntSeq() & repeatIntSeq() together for easier implementation comparison:

static final int[] repeatedIntSeq(
  final int n, final int lo, final int hi, final int step)
{
  final int
    inc = step != 0 ? abs(step) : 1, 
    dir = inc * (lo < hi ? 1 : -1), 
    qty = abs(n), 
    len = (abs(hi - lo) / inc + 1) * qty, 
    seq[] = new int[len];

  for (int i = 0; i < len; ++i) seq[i] = i / qty * dir + lo;

  return seq;
}
static final int[] repeatIntSeq(
  final int n, final int lo, final int hi, final int step)
{
  final int
    inc = step != 0 ? abs(step) : 1, 
    dir = inc * (lo < hi ? 1 : -1), 
    qty = abs(hi - lo) / inc + 1, 
    len = abs(n) * qty, 
    seq[] = new int[len];

  for (int i = 0; i < len; ++i) seq[i] = i % qty * dir + lo;

  return seq;
}

Besides i / qty vs i % qty operator difference, local variables qty & len are also calculated differently:

  1. qty: abs(n) vs abs(hi - lo) / inc + 1
  2. len: (abs(hi - lo) / inc + 1) * qty vs abs(n) * qty
2 Likes