[go: nahoru, domu]

Skip to content

Desevp/ya-task-3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

script.js - функция testInput.js - тестовый объект

Объект-результат выводится в консоль

Ход действий:

  1. Добавила примитивную сборку, чтобы автоматически перезагружать браузер при изменениях;
  2. Для удобства тестирования вынесла тестовые данные в отдельный файл;
  3. Будем ориентироваться, что самое важное - уместить работу всех приборов, поэтому сортируем приборы по
    1. Длительности работы,
    2. Ограничению по времени (сначала с определенной, затем общие),
    3. По мощности (возрастание);
  4. Подготовила массивы и переменные;
  5. Добавила функцию нахождения субмассива c наименьшей суммой по алгоритму Кадана;
  6. Добавила функцию, проверяющую условия (ограничение по максимальной мощности и времени суток работы);
  7. Добавила в функцию (4) функцию проверяющую значения на условия + функцию, находящую первый подходящий под условия субмассив. При проверке на условия проходятся все значения от 0 до 23, я предположила, что это небольшой массив, поэтому можно позволить считать локальный минимум для каждого элемента. В функции, находящей первый подходящий промежуток, проверка начинается с последнего элемента, что позволяет экономить произоводительность, в случаях с приборами, работающими короткий промежуток времени.
  8. Добавила функцию, составляющую расписание и статистику.

Получился жадный алгорим, который в большинстве случаев выдаст оптимальное решение.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published