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

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: изменены условия
 

zerkms

TDD infected
Команда форума
Всё оказалось сильно проще, Wicked молодец :)

UPD: решение зависимо от исходных данных чуток правда :)
 

zerkms

TDD infected
Команда форума
Splurov
мануал и не нужно запрещать на собеседовании. хороший специалист не тот, который всё знает - а который может в разумные сроки найти.
 

Splurov

Новичок
Да это понятно.
Мы вообще никакие практические задачи на собеседовании не даём. Подобное — никто не решит в разумные сроки, простое — бессмысленно.
 

zerkms

TDD infected
Команда форума
Splurov
ты потратил разумное время и решил задачу :)
условия можно озвучить в начале, а в течение беседы пусть пациент в фоне обдумывает :)

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

Splurov

Новичок
Ох, если бы на собеседование приходили те, кто может решить эту задачу хотя бы за час.

Я допускаю, что в Москве/Питере, где уровень кандидатов нормальный возможно и имеет смысл :)
 

korchasa

LIMB infected
Если бы не знал, что есть решение с двумя функциями, то не решил бы. Ну и без мануала, конечно, тоже.
 
Сверху