binarySearch

Status
Nicht offen für weitere Antworten.
H

hug

Gast
Code:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class MainClass {
  public static void main(String args[]) {
    String test[] = { "A", "B", "C", "M", "C"};

    List list = new ArrayList(Arrays.asList(test));

    
    Collections.sort(list);
    System.out.println(list);

    int index = Collections.binarySearch(list, "C");
    System.out.println("Found C at " + index);

  }
}

Gefunden wird hier das C beim index = 2;

Problem: Bei der collections.binarysearch ist das nur das erste gefunde element ausgegeben wird.

laufzeit log(n)

nun will ich aber nicht nur den ersten index haben sondern auch den des anderen "C"´s

Ich stehe auf dem schlauch und verzweifle langsam, weil ich nicht weiterkomme.

Bitte um Hilfe

:autsch:
 

kleiner_held

Top Contributor
Ich glaube Wildcard meint, wenn du schon den Index von einem C gefunden hast, wo werden in einer sortierten Liste dann alle anderen C's stehen?
 
H

hug

Gast
@rail
mal angenommen es handelt sich um dieses feld, dann findet die binäre suche erst

[B, C, C, C, C, M]
index 2
also, dieses C
[B, C, C, C, C, M]


jedoch habe ich nun eine Lösung auch wenn sie nicht so performant ist
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben