этюд или не этюд
От: мыщъх США http://nezumi-lab.org
Дата: 22.11.16 02:05
Оценка:
знакомую девушку юниора на java завалили на собеседовании следующей задачкой:

дано N целых чисел. пускай для определенности это будет массив A.
каждое число массива либо больше либо меньше суммы двух других чисел. то есть для любых X, Y и Z следующее условие ложно: A[X] == A[Y] + A[Z].

спрашивается: за какое кол-во операций мы можем установить что заданный массив чисел отвечает предъявленным требованиям? у нас есть операции сложения и сравнения. сложение это одна операция, сравнение это одна операция. память не выделять, но можно читать/писать в массив и операции чтения/записи считаются бесплатными. в коде должно быть не более трех целочисленных переменных и не более одной булевой переменной. массив на выходе может быть испорченным и возвращать его в исходное состояние не обязательно.

знакомая решила задачу, но ответ не зачли. говорят, что должно быть не более 2*N — 1 операций.

мне стало интересно. такое впечатление, что интервьр ошибся и правильный ответ N^2-1. или это я ошибаюсь?
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.