Занимательная сортировка

  • Автор темы Автор темы zerkms
  • Дата начала Дата начала

zerkms

TDD infected
Команда форума
Занимательная сортировка

Несколько минут назад столкнулся с очень занимательной задачей (которую, даже, вполне можно давать на собеседованиях, как проверку :-))

Дано: массив с числовыми ключами и числовыми значениями.
Нужно: отсортировать массив по возрастанию значений и ключей (в смысле: в случае, если значения одинаковые, сравниваем ключи)

Пример данных:
PHP:
$a=array(
1 => 100,
2 => 10,
3 => 1,
4 => 100,
5 => 100,
);
Пример результата:
Код:
array(5) { [3]=>  int(1) [2]=>  int(10) [1]=>  int(100) [4]=>  int(100) [5]=>  int(100) }

Моё решение в итоге заняло вызов 3 встроенных функций пхп.

Понеслась? :-)

UPD: изменены условия
 
Всё оказалось сильно проще, Wicked молодец :-)

UPD: решение зависимо от исходных данных чуток правда :-)
 
Splurov
мануал и не нужно запрещать на собеседовании. хороший специалист не тот, который всё знает - а который может в разумные сроки найти.
 
Да это понятно.
Мы вообще никакие практические задачи на собеседовании не даём. Подобное — никто не решит в разумные сроки, простое — бессмысленно.
 
Splurov
ты потратил разумное время и решил задачу :-)
условия можно озвучить в начале, а в течение беседы пусть пациент в фоне обдумывает :-)

ps: опыта собеседования (проведения и прохождения, почти) не имею - так что может я и не совсем прав, предлагая такую "задачку" :-)
 
Ох, если бы на собеседование приходили те, кто может решить эту задачу хотя бы за час.

Я допускаю, что в Москве/Питере, где уровень кандидатов нормальный возможно и имеет смысл :-)
 
Если бы не знал, что есть решение с двумя функциями, то не решил бы. Ну и без мануала, конечно, тоже.
 
Сверху