W moim programie będę miał wiele tablic z około 40 000 ciągów o różnej długości (od 10 do 5000 znaków), muszę wysłać tę tablicę do API, które akceptuje tylko 5 000 znaków naraz.Algorytm wywoływania jak najmniejszej liczby połączeń z API
Aby wykonać jak najmniejszą liczbę połączeń API, potrzebuję znaleźć najlepsze kombinacje ciągów do wysłania za każdym razem.
Na przykład, jeśli mam tablicę o innej długości {3, 5, 10, 3, 4, 1, 4}, a maksymalna długość api to 10. Powinno to zwrócić {10}, {4 1 5 }, {3 3 4}.
Przeglądałem różne algorytmy, ale nikt nie zaspokaja mojej potrzeby. (Suma podzbioru i inne)
Każda pomoc jest bardzo doceniana!
Jakie jest źródło tego problemu? –
@DouglasZare W moim programie będę miał wiele tablic z około 40 000 ciągów o różnej długości (od 10 do 5000 znaków), muszę wysłać tę tablicę do API, które akceptuje tylko 5000 znaków na raz. Aby wykonać jak najmniej połączenia API, potrzebuję znaleźć najlepsze kombinacje ciągów do wysłania za każdym razem. – Isaac
Tak więc, nie chcesz po prostu znajdować podzbiorów z sumami zbliżonymi do danej wartości, chcesz rozdzielić tablicę tak, aby każda część miała sumę poniżej progu. Jeśli masz tablicę {2,2,2,2,2,7,7,7,7,7} i celujesz na 10, użycie {2,2,2,2,2} wymusza pozostałe { 7}, który daje w sumie 6 części, a zamiast tego możesz użyć 5 części {2,7}. –