Answer:
You can simplify the problem down by recognizing that you just need to keep track of the integers you've seen in array that your given. You also need to account for edge cases for when the array is empty or the value you get would be greater than your max allowed value. Finally, you need to ensure O(n) complexity, you can't keep looping for every value you come across. This is where the boolean array comes in handy. See below -
public static int solution(int[] A)
{
int min = 1;
int max = 100000;
boolean[] vals = new boolean[max+1];
if(A.length == 0)
return min;
//mark the vals array with the integers we have seen in the A[]
for(int i = 0; i < A.length; i++)
{
if(A[i] < max + 1)
vals[A[i]] = true;
}
//start at our min val and loop until we come across a value we have not seen in A[]
for (int i = 1; i < max; i++)
{
if(vals[i] && min == i)
min++;
else if(!vals[i])
break;
}
if(min > max)
return max;
return min;
}
Comparison would be most suitable. I hope I could be a help
Video and Sound are the 2 most basic categories of film
The answer is D. Crankshaft. The flywheel is connected to the crankshaft. The crankshaft<span> is </span>connected<span> to the pistons and moves in a circular motion to move the engine. Spark Plugs are based at the top of the pistons, this is used to ignite fuel in the pistons that move them. The timing belt is </span>connected to the crankshaft<span> and it rotates the camshaft. </span>
B. South America
[ignore:20 CHARACTERS]