У меня есть массив с положительными целыми числами в случайном порядке. A число x из списка дано, нам нужно найти любые два числа в списке , имеющем сумму, равную x. Время воспроизведения должно быть меньше n^2.Сумма двух чисел, равных заданному числу
{править} То, что я сделал то, что я ставлю все цифры меньше, чем половина х в одном массиве и более чем в половине х в другом массиве, и все больше х отбрасываются, а затем идея что требуемые два числа должны быть из двух массивов (не из одного массива), и путем итерации я могу получить два числа.
Теперь для наихудшего случая я немного путаюсь в том, что подход хорош? или если кто-нибудь поможет мне что-то более лучшее, чем это, мы также сможем достичь log n или n * log n?
Дубликат http://stackoverflow.com/questions/4720271/find-a-pair-of-elements-from-an-array-whose-sum-equals-a-given-number?rq= 1 – vib
Это не обман. Вопрос связан, но у ОП есть другой вопрос. У него есть конкретное (другое) решение и спрашивает, в чем его сложность. – amit