Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: задача

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Zuldek
Отправлено: 12 Января, 2012 - 20:30:13
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




массив произвольного размера с числами от 1 до 1,000,000.
все числа уникальные,
только одно повторяется дважды
найти это число с минимальным использованием процессорного времени.

Я правильно понимаю что решение сводится к сортировке массива по возрастанию значения и простому сравниванию каждого значения с последующим в цикле пока не будет найдено равенство или существует готовая функция для подобной задачи?

Знаю только встроенную функцию для удаления повторяющихся значений, но она возвращает новый массив без указания ключей удаленных значений.
 
 Top
EuGen Администратор
Отправлено: 12 Января, 2012 - 20:36:25
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




http://php.su/functions/?array_count_values

Вот вариант. По поводу быстродействия - нужно подумать, сейчас не скажу. Нет сэндбокса под рукой


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Zuldek
Отправлено: 12 Января, 2012 - 20:43:38
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




EuGen пишет:
http://php.su/functions/?array_count_values

Вот вариант. По поводу быстродействия - нужно подумать, сейчас не скажу. Нет сэндбокса под рукой


Ничего, потестю простым php-таймером оба варианта. Спасибо.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB