Skip to content

mrStanislav/regard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание

Задача №1 Напишите функцию, которая развернёт список. Последний элемент должен стать первым, а первый - последним. $c→next должен содержать $b и так далее...

class test {
  public $next;
}

$a = new test();
$b = new test();
$c = new test();
$a->next = $b;
$b->next = $c;
$c->next = null;

Пример результата:
function reverse($a) {
  // какой-то код
}
$ob1 = reverse($a);
var_dump($ob1);

Ответ:

object(test)#3 (1) {
  ["next"]=>
  object(test)#2 (1) {
    ["next"]=>
    object(test)#1 (1) {
      ["next"]=>
      NULL
    }
  }
}

Задача №2 Даны две модели Order и Manager

class Order extends Model
{
    public function manager()
    {
    	return $this->hasOne('App\Manager');
    }
}

class Manager extends Model
{

}

Каждый Order имеет manager_id. Manager имеет id, firstName, lastName Необходимо вывести 50 заказов (Order) + fullName менеджера с минимальным кол-вом запросов к бд. Дополните класс Order. Реализовать нужно без использование join.

Задача №3 Даны веса посылок $boxes и вес, который может увезти курьер $weight. Курьер должен возить по 2 посылки, которые вместе по весу будут строго равны $weight. Необходимо найти максимальное количество рейсов, которые курьер сможет сделать с учетом условий.

Даны веса посылок $boxes и вес, который может увезти курьер $weight.
Курьер должен возить по 2 посылки, которые вместе по весу будут строго равны $weight.
Необходимо найти максимальное количество рейсов, которые курьер сможет сделать с учетом условий.

// первые входные данные
$boxes = [1, 2, 1, 5, 1, 3, 5, 2, 5, 5];
$weight = 6;
// вторые входные данные
$boxes = [2,4,3,6,1];
$weight = 5;

public function getResult(array $boxes, int $weight): int
{
  // какой-то код
}

Ответ:

Post #1 (1 kg)
Post #2 (2 kg)
Post #3 (1 kg)
Post #4 (5 kg)
Post #5 (1 kg)
Post #6 (3 kg)
Post #7 (5 kg)
Post #8 (2 kg)
Post #9 (5 kg)
Post #10 (5 kg)

Weight 6 kg

Delivering: post #4 (5 kg) and #5 (1 kg)
Delivering: post #7 (5 kg) and #3 (1 kg)
Delivering: post #9 (5 kg) and #1 (1 kg)
Delivering: post #10 (5 kg)
Delivering: post #6 (3 kg)
Delivering: post #2 (2 kg)
Delivering: post #8 (2 kg)


Total trip = 7

---------------------------------------

Post #1 (2 kg)
Post #2 (4 kg)
Post #3 (3 kg)
Post #4 (6 kg)
Post #5 (1 kg)

Weight 5 kg

Delivering: post #2 (4 kg) and #5 (1 kg)
Delivering: post #3 (3 kg) and #1 (2 kg)

UnDelivered post #4 (6 kg) > 5 kg

Total trip = 2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages