Bob es un niño pequeño y acaba de aprender a contar números. Se sentó en su casa y comenzó a jugar con su número de juguetes. Tenía algunos números de n juguetes a su izquierda y la cuenta de esos n juguetes en la mano derecha. De repente su madre lo llamó, él mezcló todos los números y se fue. Cuando volvió se dio cuenta que se le olvidó la cuenta de los números que estaba teniendo. Dados todos los números de juguete, ayúdelo a encontrar el valor de n si está presente en la array o imprima -1.
Ejemplos
Entrada : 5 7 4 3 2 6
Salida : 5
Explicación : hay 6 números de juguete, de los cuales uno es la longitud, por lo tanto, imprimimos 5.
Entrada : 10 14 11 15
Salida : -1
Explicación : hay 4 números de juguete, pero no tenemos 3 como valor en la array, por lo tanto, imprimimos -1.
Acercarse
La solución es bastante simple. Podemos simplemente tomar la entrada en una string y contar la cantidad de espacios, que será la longitud real de la array.
Algoritmo
- Tome la entrada como una string.
- Cuente el número de espacios presentes en la string.
- Si el número de espacios presentes es igual a cualquiera de los elementos presentes en la array, imprima ese número; de lo contrario, imprima -1.
- Para encontrar si el elemento está presente o no, usamos el método string.indexOf() .
¿Como funciona?
- Cuando tomamos la entrada como una string, el número de elementos presentes en la string es igual al número de espacios presentes +1.
- El número real de elementos es igual al número de elementos presentes en la string -1.
Respuesta requerida = número de espacios +1 -1 = número de espacios
Implementación :
Java
// Java program to find the lost count import java.util.*; public class GFG { // find lost count public static void findLostCount(String s) { // counting the number of elements using the split // function -1 int count = s.split(" ").length - 1; // if the value count is present then print count // else print -1 if (s.indexOf(Integer.toString(count)) != -1) System.out.println("Number of elements " + count); else System.out.println(-1); } public static void main(String args[]) { Scanner in = new Scanner(System.in); // Taking input as string String s = "5 7 4 3 2 6"; findLostCount(s); } }
Number of elements 5