0votos

A surpassing problem en Java

por alvaro sanz llorente hace 1 mes

Así lo he hecho

JAlonso tuiteó un libro que contiene una serie de problemas. En él se presenta un problema que se resuelve con coste O(n log n). El desafío consiste en encontrar una solución con coste O(n) y ver porqué en la práctica NO ES más eficiente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import java.util.*; 
 
public class Asurpassingproblem { 
 
    public static void surpassingProblem(String cadena) { 
        String c = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
        int cont=0; 
        int cont2=0; 
        ArrayList<Integer>numeros=new ArrayList<Integer>(); 
         
        while(cont<cadena.length()){ 
            for(int f=0;f<cadena.length();f++){ 
                if(cont!=f && cont<f ){ 
                    if(c.indexOf(cadena.charAt(cont)) < c.indexOf(cadena.charAt(f))){ 
                        cont2++; 
             
            numeros.add(cont2); 
            cont2=0; 
            cont++; 
             
         int mayor=0; 
         Comparator<Integer> cmp = Collections.reverseOrder(); 
         Collections.sort(numeros, cmp);   
         mayor=numeros.get(0); 
             
             
         
        System.out.println("el máximo surpassing count es el "+mayor); 
         
 
    public static void main(String[] args) { 
        Scanner sc = new Scanner(System.in); 
         
        String cadena = ""; 
 
        System.out.println("Introduce cadena"); 
        cadena = sc.nextLine(); 
         
        surpassingProblem(cadena); 
 
 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.