tutorials.de Buch-Aktion 02/2012
ERLEDIGT
NEIN
ANTWORTEN
7
ZUGRIFFE
1201
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    OwlJ OwlJ ist offline Grünschnabel
    Registriert seit
    Mar 2010
    Beiträge
    2
    Hallo!

    Ich stehe gerade vor einem Problem und finde keine praktikable Loesung:

    Es gibt z.B. die Zahlen
    Code :
    1
    
    1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5
    Was ich nun suche, ist eine Moeglichkeit um mir die Stellen aller Moeglichkeiten ausgibt, wenn eine Zahl nur einmal vorkommen darf, aber jede Zahl enthalten sein muss. Die Laenge der Zahlenkette betraegt ueber 50 Zahlen, aus denen jedoch maximal 8 ausgewaelt waeren.
    Fuer das Beispiel waere das also
    Code :
    1
    2
    3
    4
    5
    6
    
    0, 3, 6, 9, 12
    1, 3, 6, 9, 12
    2, 3, 6, 9, 12
    0, 4, 6, 9, 12
    1, 4, 6, 9, 12
    usw.

    Wobei die Reihenfolge der Zahlen nicht bekannt ist. Es koennte ebenso die Zahlenfolge
    Code :
    1
    
    1, 2, 3, 5, 4, 5, 4, 3, 2, 1
    sein. Dann muessten die Moeglichen Stellen etwa so aussehen:
    Code :
    1
    2
    3
    4
    
    0, 1, 2, 3, 4
    oder
    3, 4, 7, 8, 9
    4, 5, 7, 8, 9

    Wie koennte die Funktion in Java aussehen?

    Danke schonmal!
    Gruesse, OwlJ
     

  2. #2
    Kai008 Kai008 ist offline Mitglied Brillant
    Registriert seit
    May 2008
    Ort
    Brunn/Geb. (Niederösterreich)
    Beiträge
    944
    Blog-Einträge
    1
    Das verstehe ich nicht.
    Wenn "1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5" die Angabe ist, warum ist die erste Zahlenkette dann "0, 3, 6, 9, 12"?
    0, 3, 9 und 12 kommen in der Angabe doch nicht vor.
    So wie ich die Erklärung verstanden habe, sollte es doch so aussehen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    1, 2, 3, 4, 5
    2, 1, 3, 4, 5
    2, 3, 1, 4, 5
    2, 3, 4, 1, 5
    2, 3, 4, 5, 1
    1, 3, 2, 4, 5
    1, 3, 4, 2, 5
    usw.
     
    Mein kleiner webstart Projektplaner:
    http://178.77.101.236/ppws/
    Ideen, Verbesserungsvorschläge, Bugsmeldungen und allg. Kritik erwünscht und erbeten.

    Danke. :)

  3. #3
    OwlJ OwlJ ist offline Grünschnabel
    Registriert seit
    Mar 2010
    Beiträge
    2
    Mir geht es um die Positionen der Zahlen z.B. in einem Array. "0, 3, 6, 9, 12" sind die Positionen der gewaehlten Zahlen. Die bedingung fuer die gewaehlten Zahlen ist, dass jede Zahl nur einmal vorkommt und alle Zahlen (1-5) enthalten sein muessen.
    Einfach alle Kombinationen von den Zahlen zu bekommen ist nicht das was ich suche - dafuer habe ich schon Codebeispiele gefunden.
     

  4. #4
    Registriert seit
    Jun 2002
    Ort
    Saarbrücken (Saarland)
    Beiträge
    9.724
    Blog-Einträge
    29
     
    Java rocks!
    How to become a good Java Programmer?
    Does IT in Java and .Net
    The only valid measurement of code quality: WTFs / minute
    Blog
    Xing
    Twitter

  5. #5
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Brokat
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    470
    Also wenn ich das richtig verstehe brauchst du eigentlich nur einen Ansatz, den Rest hast du eigentlich schon...
    Wie wäre es wie folgt...

    1. Du baust dir eine HashMap, welche ArrayLists beinhaltet.
    2. Ich gehe davon aus, dass deine Zahlenfolge eine String-Kette ist, dieses splittest du über ein definiertes Zeichen und erhälst ein String-Array.
    3. Dieses String-Array durchläufst du. Jedes mal, wenn du eine Zahl findest, die als Key noch nicht in der HashMap vorkommt, fügst du eine ArrayList mit diesem Key hinzu. In der ArrayList werden die Positionen gespeichert, an der der entsprechende Key in der Zahlenfolge vorkommt.
    4. Aus diesen Hash-Elementen kannst du dir Grundzusammensetzungen basteln. (Achtung viele!)
    5. Diese Grundzusammensetzungen kannst du wie üblich in jegliche Reihenfolge bringen. (noch viel mehr!)
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  6. #6
    Avatar von Vereth
    Vereth Vereth ist offline Mitglied Brokat
    Registriert seit
    Nov 2009
    Ort
    Dortmund
    Beiträge
    372
    Also du hast z.B. 5 Zahlen, die in einem Array der Länge 50 jeweils einen Platz belegen sollen? Oder habe ich das falsch verstanden?
     
    Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons

    Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.

  7. #7
    Avatar von HonniCilest
    HonniCilest HonniCilest ist offline Mitglied Brokat
    Registriert seit
    Jun 2009
    Ort
    Java Insel
    Beiträge
    470
    Also so wie ich es verstanden habe hat er ein Zahlenarray/Zahlenkette im String oder ähnliches. Daraus will er nun alle möglichen Zahlenkombinationen in beliebiger Reihenfolge beispielsweise der Länge 5 haben, die keine Zahl doppelt beinhaltet. Wichtig ist hier aber, dass nicht die Zahlen selber, sondern ihre Position angegeben wird.

    Beispiel: 2 Zahlen 1 1 2 3

    Möglicheiche Positionen: 1 3, 1 4 , 3 4 und die "verwurschtelt" ergibt noch 3 1, 4 1, 4 3

    Im größeren Umfang wird da snatürlich seeehhhhrrr viel...

    @OwlJ was ich mich vorallem frage ist, was willst du hinterher eigentlich mit dieser Liste machen?
    Geändert von HonniCilest (18.03.10 um 14:16 Uhr)
     
    Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
    ...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.

  8. #8
    Avatar von Vereth
    Vereth Vereth ist offline Mitglied Brokat
    Registriert seit
    Nov 2009
    Ort
    Dortmund
    Beiträge
    372
    Ich vermute, er will irgendeinen brute-force-Solver programmieren. Aber ich wüsste gerne, für welches Problem?
     
    Vielen Dank für die Nutzung des Bewerten- und Danke-Buttons

    Wenn man sieht, dass man einen anderen glücklich gemacht hat, ist die Welt um zwei glückliche Menschen reicher.

Ähnliche Themen

  1. Antworten: 9
    Letzter Beitrag: 16.04.10, 00:00
  2. Antworten: 3
    Letzter Beitrag: 11.03.10, 23:08
  3. Antworten: 2
    Letzter Beitrag: 02.03.09, 01:37
  4. Alle Kombinationen durch rotieren
    Von kjh im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 29.08.06, 22:26
  5. Alle möglichen Kombinationen
    Von Snape im Forum Algorithmen & Datenstrukturen mit Java
    Antworten: 3
    Letzter Beitrag: 21.09.05, 12:07

Stichworte