[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: задача по массивам
Lenarfate
всем здорова! в общем, пришел я на собеседование по работе и сел в лужу с такой вот задачей.

дан массив чисел от 1 до n. числа сортированы случайным образом. потерянно число m.
под массив выделено определенное количество памяти, не зависящее от значения n.
вопрос: найти значение m.

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



Спустя 18 минут, 45 секунд (24.07.2012 - 19:16) Winston написал(а):
Например так?
echo '<pre>';
$arr = range(1, 20);
shuffle($arr);
unset($arr[10]); // Потеряем 1 элемент
print_r($arr);

$arr2 = range(min($arr), max($arr));
$res = array_diff($arr2, $arr);
print_r($res);

Спустя 26 секунд (24.07.2012 - 19:16) Michael написал(а):
Если правильно понял - пробежаться по массиву, найдя max и min, наполнить новый массив всем этим промежутком и повыбивать из него имеющиеся в исходном массиве.

p.s. что из армии вернулся? smile.gif

Спустя 1 минута (24.07.2012 - 19:17) Lenarfate написал(а):
суть в том, что задачу нужно было решить в уме, а ответ написать сразу на бумаге

Спустя 42 секунды (24.07.2012 - 19:18) Lenarfate написал(а):
Michael
да вернулся вот. вспоминаю все сижу)жуть какая-то))

Спустя 1 минута, 11 секунд (24.07.2012 - 19:19) killer8080 написал(а):
или так
$n = 15; 
$arr = range(1, $n);
unset($arr[rand(1, $n -1)]);
shuffle($arr);
echo '<pre>'.print_r($arr, 1).'</pre>';

$max = max($arr);

for($m = 1; $m <= $max; $m++){
if(!in_array($m, $arr)){
echo $m;
break;
}
}

Спустя 33 секунды (24.07.2012 - 19:20) Michael написал(а):
Цитата (Lenarfate @ 24.07.2012 - 18:17)
суть в том, что задачу нужно было решить в уме, а ответ написать сразу на бумаге

какой ответ если не код? Может ты не точно сформировал тут задачу?

Спустя 4 минуты, 29 секунд (24.07.2012 - 19:24) Lenarfate написал(а):
Michael
вот прям так и дали на бумаге, типа: "на, напиши ответ. задача простая".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.