2
public List<Integer> sequentialDigits(int low, int high) {3
int lowSize = String.valueOf(low).length(), highSize = String.valueOf(high).length();4
List<Integer> output = new ArrayList<>();6
for (int size = lowSize; size <= highSize; size++) {7
int seedNumber = getSeedNumber(size);8
int increment = getIncrement(size);9
int limit = (int) Math.pow(10, size);10
// System.out.println(seedNumber+":"+increment+":"+limit);12
if (seedNumber >= low && seedNumber <= high) output.add(seedNumber);13
if (seedNumber % 10 == 9 || seedNumber > high) break;14
seedNumber += increment;20
private int getSeedNumber(int size) {22
for (int i = 2; i <= size; i++) seed = 10 * seed + i;26
private int getIncrement(int size) {28
for (int i = 2; i <= size; i++) increment = 10 * increment + 1;