Это вопрос интервью:
Найти наибольшую возможную разницу в массиве целых чисел, так что меньшее число происходит раньше в массиве.
Constraint: Номера не уникальны. Диапазон - целочисленный диапазон java. (или любой другой язык)
Пример:
ввод 1: {1, 100, 2, 105, -10, 30, 100}
Самое большое различие между -10 и 100 → 110 (здесь -10 находится на 5-м индексе, а 100 - на 7-м индексе)
ввод 2: {1, 100, 2, 105, -10, 30, 80}
Самое большое различие между 1 и 105 → 104 (здесь 1 находится в первом индексе, а 105 - в 4-м индексе)
Возможное решение:
Один из подходов - проверка всех возможных различий и сохранение трека самой большой разницы, обнаруженной до сих пор сложностью O (n ^ 2).
можно ли это сделать лучше, чем время O (n ^ 2)?