Problem Statement
Definition
- Class:
- WhiteHats
- Method:
- whiteNumber
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int whiteNumber(int[] count)
- (be sure your method is public)
Constraints
- count will contain between 2 and 50 elements, inclusive.
- Each element of count will be between 0 and 50, inclusive.
Examples
{2,1,1}
Returns: 2
The first person wears a black hat and sees two people wearing white hats. Each person wearing a white hat sees only one other white hat in the room.
{2,2,2}
Returns: 3
Everyone wears a white hat here.
{0,0}
Returns: 0
Black hats only.
{1,1,1,2}
Returns: -1
{10,10}
Returns: -1
Now that's interesting. There are only two people in the room, yet each of them counted 10 others.
{7,8,7,8,8,7,8,7,8,7,8,7,7,8,7,8}
Returns: 8
{1,1,1,1,1,1,1,1,1,1,0,1,1,1}
Returns: 1
{2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2}
Returns: 2
{7,8,7,8,8,7,8,7,8,7,8,7,7,8,7,8}
Returns: 8
{17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17}
Returns: 18
{1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: 1
{1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: 1
{5,5,5,5,5,5,5}
Returns: -1
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Returns: 0
{49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49,49}
Returns: 50
{50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50}
Returns: -1
{28,29,29,28,28,28,28,29,29,29,29,28,28,29,28,28,28,28,29,28,28,29,29,28,29,28,28,28,28,29,28,28,29,28,28,29,29,29,28,28,28,29,28,28,29,28,29,28,29,29}
Returns: 29
{19,19,19,19,18,18,18,18,18,18,18,18,19,18,18,19,19,18,19,18,19,18,19,19,18,18,18,18,19,18,18,19}
Returns: 19
{18,18,17,17,17,17,18,17,17,17,17,17,17,17,18,17,17,17,18,18,17,17,18,17,17,18}
Returns: 18
{7,7,7,7,7,7,7,7}
Returns: 8
{8,7,8,8,7,8,7,7,8,8,8,8,8,8,7,8,7,7,8,8,7,8}
Returns: 8
{29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,30}
Returns: 30
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1}
Returns: 1
{20,21,21,21,20,20,21,21,21,20,21,20,20,21,21,21,20,20,20,21,20,20,20,20,20,20,21,20,20,20,20,20,20,21,21,21,21,21}
Returns: 21
{19,19,20,19,19,20,19,19,20,19,20,20,19,19,20,20,20,19,19,20,20,20,19,20,20,19,19,19,19,19,19,20,20,20,19,20,19,20}
Returns: 20
{4,5,5,4,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,4,5,5,5,5,5,5,4,5,5,5,5,5,5}
Returns: 5
{11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,12}
Returns: 12
{20,21,20,20,21,21,20,21,21,21,20,21,21,20,21,21,21,21,20,20,21,20,20,20,21,20,20,21,20,21,20,20,20,20,21,20,21,20,21,21,21,20,21,21}
Returns: 21
{2,2,2}
Returns: 3
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Returns: 0
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Returns: 0
{26,25,25,25,26,25,25,25,26,25,25,26,25,25,25,25,25,25,25,25,26,25,25,25,25,26,26,25,26,25,25,25,25,25,26}
Returns: 26
{26,26,27,26,26,26,26,26,26,27,26,27,26,26,26,26,26,26,26,26,26,26,27,26,26,26,26,26,26,26,26,27,27}
Returns: 27
{19,19,20,19,20,20,19,19,19,19,20,20,19,19,19,20,19,19,20,19,19,19,19,19,20,20,19,20,20,19,19,20,20}
Returns: 20
{4,4,3,3,3,4,3,4,4,4}
Returns: 4
{16,16,16,16,16,16,16,16,16,16,16,17,16,16,16,16,16,16,17}
Returns: 17
{20,20,20,19,19,19,20,20,20,19,20,20,19,20,20,19,19,20,20,19,19,20,20,20,19,19,20,20,19,19,19,19,19,19,19,20,19,19,20,20}
Returns: 20
{3,3,3,2,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3}
Returns: 3
{10,11,11,10,10,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11}
Returns: 11
{9,9,9,9,9,9,9,8,9,9,8,9,9,9,9,8,9,9,8,9,9,9,9,9,8,9,9,8,8,8,8,9}
Returns: 9
{1,1,2}
Returns: 2
{27,28,27,28,28,27,28,27,27,28,28,28,27,27,27,27,28,27,27,27,27,27,27,27,27,28,27,27,27,27,27,27,28,27,27,27,28,28,27,28,27,28}
Returns: 28
{41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,42,41,41,41,41,41,41,41,41,41,41,42,41,41,41,41,41,42,42}
Returns: 42
{8,8,7,8,7,8,7,8,7,7,7,8,7,7,8}
Returns: 8
{18,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,18,19,18,18,19,19,19}
Returns: 19
{14,13,13,13,13,13,14,13,13,13,13,13,14,14,14,14,14,13,13,13,13,14}
Returns: 14
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
Returns: 0
{5,5,5,4,5,5,5,5,5,5,5,5,5,4,5,5,4,5,5,5,5,5,5,4,4,5,5,5,5,5,5}
Returns: 5
{9,8,8,8,9,9,8,8,8,8,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,8,9,9}
Returns: 9
{12,11,11,11,11,12,12,12,11,11,12,12,12,12,11,11,12,12,12,12,12,11,11,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12}
Returns: 12
{23,22,22,22,22,23,22,22,22,22,22,22,22,22,23,22,22,22,22,22,22,23,22,22,23,22,22,23,22,23,23,0}
Returns: -1
{21,21,21,21,21,22,21,22,22,22,21,22,22,21,22,22,22,21,21,22,22,21,22,21,22,22,22,22,21,21,21,21,22,21,21,21,22,21,21,22,22,22,21,21}
Returns: -1
{4,4,4,6,4,4,6}
Returns: -1
{2,2,2,2,4,4}
Returns: -1
{5,5,5,5,5,5,6,6,6,6,6,0}
Returns: -1
{2,2}
Returns: -1
{1,1,1,1,1,1,1,1,8}
Returns: -1
{34,34,33,33,33,33,34,34,33,34,33,33,34,34,33,34,33,33,34,33,33,33,33,33,34,33,33,33,33,34,32,33,33,33,33,33,33,33,34,34,34,33,33,33,33,33,33,33,34,34}
Returns: -1
{25,25,25,25,26,26,26,26,26,26,26,25,25,25,26,25,25,26,25,25,25,26,25,25,26,25,26,25,25,26,25,26,26,26,25,26,25,25,26,25,26,26,25,25,26,25,26,26,26}
Returns: -1
{0,0}
Returns: 0
{1,1}
Returns: 2
{1,0}
Returns: 1
{0, 0, 1 }
Returns: -1
{0, 2 }
Returns: -1
{4, 4, 3, 5, 4, 5 }
Returns: -1
{4, 3, 1, 0, 0 }
Returns: -1
{3, 3, 3, 3, 3 }
Returns: -1
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
Returns: 1
{2, 2, 2 }
Returns: 3
{5, 0, 0, 0, 0, 0 }
Returns: -1
{5, 5, 5, 5, 5, 5, 5, 5 }
Returns: -1
{1, 1, 1, 1, 2, 2 }
Returns: -1
{1, 1, 1, 2 }
Returns: -1
{0, 0, 1, 2 }
Returns: -1
{3, 3, 3, 4, 4, 4, 4, 3 }
Returns: 4
{1, 1, 1, 1, 1, 1, 1 }
Returns: -1
{2, 2, 0 }
Returns: -1
{0, 0, 0, 3 }
Returns: -1
{3, 3, 3, 4, 4, 4, 4 }
Returns: -1
{1, 1, 1, 1, 1, 1 }
Returns: -1
{1, 1, 1, 3 }
Returns: -1
{1, 1, 2 }
Returns: 2
{0, 1, 2, 0 }
Returns: -1
{2, 2, 2, 2, 2, 2 }
Returns: -1
{2, 2, 2, 2, 2, 2, 2 }
Returns: -1
{25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 }
Returns: 25
{2, 2, 2, 2 }
Returns: -1
{1, 1, 3, 4 }
Returns: -1
{1, 0 }
Returns: 1
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
Returns: 1
{4, 4, 4, 4, 4, 5, 5, 5 }
Returns: 5
{3, 3, 2, 3, 1 }
Returns: -1
{2, 2, 2, 2, 2, 2, 1 }
Returns: -1
{1, 1, 1 }
Returns: -1
{0, 1 }
Returns: 1
{3, 3, 3, 3, 4, 4, 4 }
Returns: 4
{3, 0, 1 }
Returns: -1
{1, 2, 3 }
Returns: -1
{3, 3, 0, 0 }
Returns: -1
{1, 0, 3, 0, 0, 0 }
Returns: -1
{3, 3, 3, 3, 3, 3 }
Returns: -1
{2, 0, 0 }
Returns: -1
{1, 4, 1, 3 }
Returns: -1
{0, 1, 2 }
Returns: -1
{2, 2, 2, 2, 3, 4 }
Returns: -1
{5, 4, 4, 4, 4 }
Returns: -1
{1, 2 }
Returns: -1
{4, 4, 4, 4 }
Returns: -1
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0 }
Returns: 1
{2, 2, 2, 0 }
Returns: -1
{0, 0, 2, 2 }
Returns: -1
{3, 3, 3, 3, 3, 3, 3, 3 }
Returns: -1
{0, 0, 2 }
Returns: -1
{4, 0, 0, 0, 0 }
Returns: -1
{2, 2 }
Returns: -1
{2, 3, 1 }
Returns: -1
{2, 2, 2, 1, 1 }
Returns: 2
{10, 11 }
Returns: -1
{4, 1, 1, 1, 1 }
Returns: -1
{2, 2, 1, 1, 1 }
Returns: -1
{2, 1, 1, 3, 3 }
Returns: -1
{1, 1 }
Returns: 2
{1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }
Returns: -1
{1, 1, 2, 3 }
Returns: -1
{0, 1, 2, 2, 3 }
Returns: -1
{6, 10, 6, 6, 6, 6, 6, 5, 5, 6 }
Returns: -1
{1, 2, 3, 0 }
Returns: -1
{1, 2, 3, 3, 3, 3, 3 }
Returns: -1
{0, 1, 1 }
Returns: 1
{0, 1, 1, 1, 1 }
Returns: 1
{1, 1, 2, 2, 2, 2, 2 }
Returns: 2
{1, 0, 1 }
Returns: 1
{2, 0 }
Returns: -1
{2, 2, 2, 2, 2 }
Returns: -1
{3, 3, 3, 3, 3, 3, 3 }
Returns: -1
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
Returns: -1
{4, 0, 0 }
Returns: -1
{0, 0, 0, 0, 1 }
Returns: -1
{0, 2, 2, 2, 2 }
Returns: -1
{3, 3, 2, 2, 2 }
Returns: 3
{1, 0, 1, 1 }
Returns: 1
{2, 1, 2, 3 }
Returns: -1
{1, 1, 3 }
Returns: -1
{2, 3, 2, 2, 1 }
Returns: -1
{0, 0, 0, 0, 12 }
Returns: -1
{2, 2, 2, 2, 2, 5 }
Returns: -1
{20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19 }
Returns: 20
{1, 1, 3, 1, 2 }
Returns: -1
{3, 2, 1, 3 }
Returns: -1
{0, 1, 1, 1 }
Returns: 1
{3, 3, 3, 3, 4 }
Returns: 4
{49, 49, 49, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }
Returns: -1
{4, 4, 4, 4, 4, 5, 5 }
Returns: 5
{3, 3, 3, 3, 3, 5 }
Returns: -1
{3, 4, 4, 4, 3 }
Returns: -1
{2, 4, 3, 2, 1 }
Returns: -1
{1, 2, 3, 4, 2 }
Returns: -1
{2, 1, 2 }
Returns: -1