Как ты это делаешь? Значения не отсортированы, но имеют [1..n]
Пример массива [3,1,2,5,7,8]
. Ответ: 4, 6
Я видел это решение в другом подобном посте, но я не понимаю последний шаг:
- Найдите сумму чисел S = a1+... +an.
- Также найдите сумму квадратов T = a1² +... +an ².
- Вы знаете, что сумма должна быть S '= 1+... +n = n (n + 1)/2
- Вы знаете, что сумма квадратов должна быть T '= 1² +... +n ² = n (n + 1) (2n + 1)/6.
- Теперь настройте следующую систему уравнений x +y = S '-S, x² +y ² = T' -T.
- Решите, написав x² +y ² = (x +y) ² -2xy => xy = ((S '-S) ²- (T' -T))/2.
- И теперь числа являются просто корнями квадратичного в z: z²- (S '-S) z+ ((S' -S) ²- (T '-T))/2 = 0.
Чем объясняется установка этого квадратного уравнения на последнем этапе с z в качестве неизвестного? Какая интуиция стоит за этим решением этой проблемы?