Google | Phone Screen | Arithmetic Progression Constant Length and Stride
Anonymous User
1599

A sequence of numbers is called arithmetic progression when the difference between any 2 successive numbers is constant, e.g. [7, 10, 13, 16] length = 4, stride = 3

Implement a service so that for constant length and stride, determines if the data contains any arithmetic progression of the length and stride.

class APChecker {

	public APChecker(int length, int stride) {
	}

	public void add(int number) {
	}

	public void remove(int number) {
	}

	boolean check() {
	}
}

Example 1:

APChecker checker = new APChecker(4, 3); // []
checker.add(7); // [7]
checker.add(10); // [7, 10]
checker.add(12); // [7, 10, 12]
checker.add(13); // [7, 10, 12, 13]
checker.add(14); // [7, 10, 12, 13, 14]
checker.add(15); // [7, 10, 12, 13, 14, 15]
checker.remove(14); // [7, 10, 12, 13, 15]
checker.add(16); // [7, 10, 12, 13, 15, 16]
checker.check(); // true because 7 → 10 → 13 → 16

Example 2:

APChecker checker = new APChecker(3, 3);
checker.add(3);
checker.add(12);
checker.add(6);
checker.add(15);
checker.check(); // false
Comments (9)