Ten problem dotyczy pytania, które zadałem tutaj. Mam stół, który wygląda następująco:
Item Count
1 1
2 4
3 8
4 2
5 6
6 3
Muszę zgrupować elementy, które są na przykład mniejsze niż 5, w nową grupę, a suma każdej grupy powinna wynosić co najmniej 5. Wynik powinien wyglądać następująco:
Item Group Count
1 1 1
2 1 4
3 2 8
4 3 2
5 4 6
6 3 3
Jak to osiągnąć? Wielkie dzięki.
Odpowiedzi:
2 dla odpowiedzi № 1Dlaczego nie jest to poprawny wynik?
Item Group Count
1 1 1
2 2 4
3 3 8
4 4 2
5 5 6
6 1 3
Albo to?
Item Group Count
1 1 1
2 2 4
3 3 8
4 4 2
5 5 6
6 6 3
Wydaje mi się, że próbujesz rozwiązać problemodpowiedz „jak pogrupować elementy, aby zminimalizować liczbę grup i zmaksymalizować liczbę elementów w każdej grupie, bez przekroczenia limitu 5”. Co brzmi bardzo podobnie Problem plecakowy. Być może powinieneś przeczytać Celko SQL Stumper: problem z planowaniem zajęć i proponowane rozwiązania. Inni również podeszli do tego problemu, np. A teraz całkowicie niewłaściwe korzystanie z SQL Server. Uwaga: w żadnym wypadku nie jest to trywialny problem. Każdy naiwny algorytm umrze powolną śmiercią, próbując go rozwiązać na tabeli 1M wierszy ...