T1grOK
25.04.2015 - 14:17
Цитата (GET @ 25.04.2015 - 10:08) |
Не совсем понял, а что ему нужно сделать, сосчитать количество комнат опираясь на лампочки? |
Да. То есть, чтобы алгоритм на выходе давал однозначный признак, что все комнаты обошли.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Zzepish
25.04.2015 - 15:41
T1grOK
Достаточно простая задача)
S.Chushkin
25.04.2015 - 16:48
Цитата (Zzepish @ 25.04.2015 - 15:41) |
Достаточно простая задача) |
Напишите решение. Хотя бы алгоритм.
А то "Задача достаточно простая", "Достаточно простая задача" и т.д. ... трепаться мы все мастера.
_____________
Рекламка / ad.pesow.com Хрень / mr-1.ru
inpost
25.04.2015 - 17:35
Комнаты занести в переменную, где у каждой комнаты будет ID.
Передвижение робота сделать по нашей 2d матрице (массиву) обычным path-finder, любым алгоритмом. При попадании в комнату в отдельную переменную добавлять ID комнаты, в которой уже был. Чуть-чуть кода в виде функции+цикла и готово.
Другое дело, если нельзя создавать переменные и т.д., тогда какое это имеет отношение к PHP программисту?! Не думаю, что всяких там роботов по перемещению в реальном мире делают на PHP, отсюда в этом направлении и нет смысла ПХП программисту развиваться.
________
Вторая задача аналогично решается, каждому кругу дать идентификатор и передвигаться по списку вперёд.
________
Хотя мне кажется, что они хотели увидеть какой-нибудь другой алгоритм типо на логику, как предлагали ранее с движениями вперёд/назад, или лишь двигаться постоянно вперёд с включенной первой и выключением остальных лампочек, когда подряд будут идти 5-10-15 выключенных лампочек, то вернуться один раз назад и убедиться, что в начальной лампочка выключена, а если нет, то продолжить движение далее.
________
А чем они хоть занимаются, что такие требования жесткие?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
25.04.2015 - 17:50
S.Chushkin
Я эту ересь решал на последней паре по алгоритмам!
И знаю, что задача простая. Будет желание и время- напишу
T1grOK
25.04.2015 - 17:53
Цитата (inpost @ 25.04.2015 - 13:35) |
Другое дело, если нельзя создавать переменные и т.д., |
Я не уточнил, мы имеем ограничение в ресурсах RAM. То есть мы можем использовать пару переменных, но не всю "карту"(массив) состояний.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
25.04.2015 - 17:58
T1grOKНа серверах у крупных фирмах не хватает памяти для обычного перебора массива? Они хостятся на бесплатных hostinger, чтобы съэкономить деньги?
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
T1grOK
25.04.2015 - 17:58
Цитата (inpost @ 25.04.2015 - 13:35) |
Хотя мне кажется, что они хотели увидеть какой-нибудь другой алгоритм типо на логику, как предлагали ранее с движениями вперёд/назад, или лишь двигаться постоянно вперёд с включенной первой и выключением остальных лампочек, когда подряд будут идти 5-10-15 выключенных лампочек, то вернуться один раз назад и убедиться, что в начальной лампочка выключена, а если нет, то продолжить движение далее. |
Ну это и есть решение, о чем ранее bestxp упоминал.
По односвязным спискам - алгоритм решения, такой же, который применяется в языках программирования для определения зацикливаний)
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
T1grOK
25.04.2015 - 18:05
Цитата (inpost @ 25.04.2015 - 13:58) |
На серверах у крупных фирмах не хватает памяти для обычного перебора массива? Они хостятся на бесплатных hostinger, чтобы съэкономить деньги? |
Нет) У них вообще то кусок целого датацента, если не ошибаюсь.
Цитата (inpost @ 25.04.2015 - 13:35) |
А чем они хоть занимаются, что такие требования жесткие? |
Занимаются разработкой государственных систем, разрабатывают приложения для крупных коммерческих компаний. Как правило - это высоко нагруженные облачные решения.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
T1grOK
25.04.2015 - 18:08
Вся суть собеседования - это посмотреть как я буду решать те или иные задачи, каким путем приду к решению. Как буду рассуждать ища правильное решение.
_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
inpost
25.04.2015 - 18:13
Странные тогда требования экономии на спичках. Больше похоже, как ты сказал, академические теоретические задачки не связанные с реальной работой.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Zzepish
25.04.2015 - 18:17
S.Chushkin<?php
error_reporting(-1);
header('Content-Type: text/html; charset=utf-8');
class Graph{
public $marker=0;
public $parents=Array();
public $children=Array();
public function addChild($child){
$this->children[]=$child;
}
public function cycled(){
$this->marker=1;
for($i=0; $i<count($this->children); $i++)
if($this->children[$i]->marker!=0)
echo 'Кольцо<br>';
else
$this->children[$i]->cycled();
$this->marker=2;
}
}
$gr1=new Graph();
$gr1->addChild($gr2=new Graph());
$gr2->addChild($gr3=new Graph());
$gr3->addChild($gr4=new Graph());
$gr4->addChild($gr5=new Graph());
$gr5->addChild($gr6=new Graph());
$gr6->addChild($gr7=new Graph());
$gr7->addChild($gr4);
$gr1->cycled();
?>
еще вопросы?
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.