мы недавно наткнулись на эту проблему.
У нас есть n различных типов продуктов, где каждый тип продукта может иметь произвольное количество (> = 0) продуктов. Мы хотим «отсортировать» все продукты (все продукты всех типов) в списке, однако некоторые типы продуктов должны вставляться в список в периодическом порядке.
Я хотел бы объяснить на примере:
У нас есть 3 различных типа продуктов (ProdA, ProdB, ProdC), и 3 блока ProdA, 4 блока ProdB и 2 блока ProdC. ProdC должен быть вставлен в список с периодом 2.
Один заказ может быть:
- ProdA1
- ProdA2
- ProdC1
- ProdA3
- ProdB1
- ProdC2
- ProdB2
- ProdB3
- ProdC1
- ProdB4
Посмотрите, как, поскольку ProdC является периодическим и имеет только 2 единицы, единицы повторяются, когда у нас заканчиваются единицы ProdC.
Если одна единица ProdA и одна единица ProdB удалены, мы хотим, чтобы список выглядел следующим образом:
- ProdA1
- ProdA2
- ProdC1
- ProdB1
- ProdB2
- ProdC2
- ProdB3
Мы не хотим «пересчитывать» весь список.
Мой вопрос: Существует ли общий алгоритм для этого, который включает в себя динамическое "прибегание"?
Спасибо!