The input to this method is supposedly an ArrayList of integers that ranges from 1 to 100, however this is not exactly the case. Sometimes, there will be gaps in the range for example, the range could be: [1 2 ... 7 8 ... 99 100], with missing ranges in between. Find all the missing numbers from the range, add them to an ArrayList, return the ArrayList.
The input to this method is supposedly an ArrayList of integers
that ranges from 1 to 100, however this is not exactly the case.
Sometimes, there will be gaps in the range for example, the range
could be: [1 2 ... 7 8 ... 99 100], with missing ranges in between.
Find all the missing numbers from the range, add them to an ArrayList,
return the ArrayList.
------------------------
Below is my code that is failing. It is returning the correct missing numbers but is not going passed the last number from the array. so [4,5,14,16,23,76,89] It is placing all of the missing numbers up to 88 when it should be going to 100
------------------------
public ArrayList<Integer> solution(ArrayList<Integer> nums) {
ArrayList<Integer> result = new ArrayList<Integer>();
int count = 0;
for(int i = 0;i<nums.size()-1;i++){
for(int j = nums.get(i)+1;j<nums.get(i+1);j++){
count++;
result.add(j);
}
}
return result;
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images
The solution should only return the missing numbers from 1-100. The original numbers from the given array should not be included in the return. How can I only return the missing numbers?