Java - Digitos que no estan en una lista

 
Vista:
sin imagen de perfil

Digitos que no estan en una lista

Publicado por Andres (25 intervenciones) el 22/11/2016 13:57:54
Hola buenas, necesito ayuda con este ejercicio:

Me piden crear este método:
public static String digitosQueNoEstanEn (List<Long> numeros)

Dicho método recibe como argumento una lista de números enteros. Debe retornar un string formado por aquellos dígitos (en orden ascendente) que no aparezcan en ninguno de los números del argumento. Si los números incluyen todos los dígitos (del 0 al 9) debe retornar un string vacío.

Por ejemplo, si numeros=[1201, 23045], debe retornar "6789".

Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Digitos que no estan en una lista

Publicado por Tom (1831 intervenciones) el 23/11/2016 22:12:13
Hay infinitas (bueno, muchas) formas de hacerlo; Una podría ser:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Digitos {
	/* */
	public static String testDigitos(List<Long> numbers) {
		String res = new String("0123456789");
 
		for(Long l : numbers) {
			for(char s : l.toString().toCharArray()) {
				res = res.replace(s, '\0');
			}
			if(res.isEmpty())
				break;
		}
		return res;
	}
	/* */
	public static void main(String[] args) {
		List<Long> test = Arrays.asList(321L, 95649L);
		System.out.println("Result: '" + testDigitos(test) + "'");
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Digitos que no estan en una lista

Publicado por Andres (25 intervenciones) el 23/11/2016 22:49:15
Muchas gracias!! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Digitos que no estan en una lista

Publicado por Vito (1 intervención) el 09/02/2018 01:06:30
Si te piden que uses el API Stream, te puede valer esta;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static String digitosQueNoEstanEn(List<Long> numeros) {
 
        List<String> numerosDel0Al9 = Arrays.stream("0123456789".split("")).collect(Collectors.toList());
        numeros.stream()
                .forEach((l) -> {
                    Arrays.stream(l.toString().split("")).collect(Collectors.toList()).stream()
                            .filter((b) -> (numerosDel0Al9.contains(b)))
                            .forEach((b) -> {
                                numerosDel0Al9.remove(b);
                            });
                });
 
        String strinNumeros = "";
        strinNumeros = numerosDel0Al9.stream()
                .reduce(strinNumeros, String::concat);
        return strinNumeros;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar