Wells Fargo Interview Question

How to find missing number in integer array of 1 to 100?

Interview Answers

Anonymous

Feb 11, 2016

add all numbers and do natural sum and calculate the difference.

5

Anonymous

Aug 14, 2019

import java.util.Arrays; import java.util.BitSet; public class Main { public static void main(String args[]) { missingNumber(new int[]{1, 2, 3, 4, 9, 8,50,90,99}, 100); } private static void missingNumber(int[] numbers, int count) { int missingCount = count - numbers.length; BitSet bitSet = new BitSet(count); for (int number : numbers) { bitSet.set(number - 1); } System.out.printf("Missing numbers in integer array %s, with total number %d is %n", Arrays.toString(numbers), count); int lastMissingIndex = 0; for (int i = 0; i < missingCount; i++) { lastMissingIndex = bitSet.nextClearBit(lastMissingIndex); System.out.print(++lastMissingIndex+","); } } private static int getMissingNumber(int[] numbers, int totalCount) { int expectedSum = totalCount * ((totalCount + 1) / 2); int actualSum = 0; for (int i : numbers) { actualSum += i; } return expectedSum - actualSum; } } output: Missing numbers in integer array [1, 2, 3, 4, 9, 8, 50, 90, 99], with total number 100 is 5,6,7,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,5 4,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,100