Gruppieren Sie Datumsbereiche in BucketsJava

Java-Forum
Guest
 Gruppieren Sie Datumsbereiche in Buckets

Post by Guest »

Ich habe ein Problem, bei dem ich einen Datumsbereich habe und den Datumsbereich in Blöcke aufteilen möchte (vom Benutzer angegebene Menge). Jeder Block muss ein kontinuierlicher Bereich ganzer Monate sein. Der längste Abschnitt muss mindestens einen Monat länger sein als der kürzeste.

Datumsbereiche sind auch ganze Monate:
  • Starttermine sind immer der Erste des Monats
  • Endtermine sind immer der letzte Tag des Monats.
Sie können davon ausgehen, dass der Eingabebereich groß genug ist, dass jeder Block Folgendes haben kann mindestens einen ganzen Monat.

Betrachten Sie beispielsweise den trivialen Fall eines Datumsbereichs vom 1.1.2000 bis zum 31.8.2000, bei dem 8 Blöcke angefordert werden. Dann würde jeder Block einen ganzen Monat erhalten.

Ein einfacherer Weg, sich dieses Problem vorzustellen, ist wie folgt
Betrachten Sie eine Liste mit Zahlen von 1-15
und wir wollen sie in 8 Stücke aufteilen
Mögliche Kombinationen sind

Code: Select all

(1),(2),(3),(4),(5),(6),(7),(8,9,10,11,12,13,14,15) -> satisfies only one constraints of using up all the chunks
(1,9),(2,10), (3,11), (4,12), (5,13), (6,14), (7,15), (8) ---> satisfies only 1 constraint of minimizing the difference between maximum number and minimum numbers in a chunk.

(1,2), (3,4), (5,6), (7,8) (9,10), (11,12) (13,14), 15  ---> correct
Ich habe die Joda-Zeit als Datumsbibliothek in Betracht gezogen.

Dies ist kein Hausaufgabenproblem. Ich versuche, eine Abfrage zu parallelisieren, die Datumsbereiche als Eingabe verwendet. Die Blöcke sollen Kerne sein, und ich möchte die Abfrage für nachfolgende Datumsbereiche über einen Kern hinweg ausführen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post