Skip to content
Related Articles

Related Articles

Improve Article

Java Program to Find the Lost Number

  • Last Updated : 04 Jan, 2021
Geek Week

Bob is a small kid and just learned to count numbers. He sat in his house and started playing with his number of toys. He was having some n toy numbers on his left and the count of those n toys in the right hand. Suddenly his mother called him, and he mixed all the numbers and left. When he returned he realized that he forgot the count of the numbers he was having. Given all the toy numbers help him find the value of n if present in the array or print -1.

Examples

Input: 5 7 4 3 2 6

Output: 5

Explanation: There are 6 toy numbers out of which one is the length hence we print 5.



Input: 10 14 11 15

Output: -1

Explanation: There are 4 toy numbers but we do not have 3 as the value in the array hence we print -1.

Approach

The solution is pretty simple. We can just take the input in a string and count the number of spaces, which will be the actual length of the array.

Algorithm

  1. Take the input as string.
  2. Count the number of spaces present in the string.
  3. If the number of spaces present is equal to any of the element present in the array then print that number else print -1.
  4. To find the element is present or not, we use string.indexOf() method.

How does it work?

  • When we take the input as a string the number of elements present in the string is equal to the number of spaces present +1.
  • The actual number of elements is equal to the number of elements present in the string -1.

Required answer = number of spaces +1 -1 = number of spaces

Implementation:

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);
    }
}
Output
Number of elements 5

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :