Problem Statement
To celebrate the upcoming Thought Challenge Olympics, you are going to follow tradition and light candles. On the first night of the event, you will light one candle. At the end of the night, you will extinguish the candle. On each subsequent night, you will light one more candle than you did on the previous night, so that on the n-th night (indexed from 1) you will light n candles (and extinguish them all in the morning). Each night that you light a candle, its height will decrease by 1 inch; once its height reaches 0 inches, you cannot use it anymore.
You are given a
Definition
- Class:
- OlympicCandles
- Method:
- numberOfNights
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int numberOfNights(int[] candles)
- (be sure your method is public)
Constraints
- candles will contain between 1 and 50 elements, inclusive.
- Each element of candles will be between 1 and 100, inclusive.
Examples
{2, 2, 2}
Returns: 3
The example from the statement.
{2, 2, 2, 4}
Returns: 4
With an extra candle we are able to use the candles for four nights.
{5, 2, 2, 1}
Returns: 3
{1, 2, 3, 4, 5, 6}
Returns: 6
{4, 5, 2}
Returns: 3
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Returns: 4
{1, 3, 4, 2, 5, 6, 7, 8, 9, 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, 50}
Returns: 50
{1, 3, 4, 2, 5, 6, 7, 8, 9, 7, 11, 12, 13, 14, 15, 16, 14, 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, 45, 47, 48, 49, 50}
Returns: 49
{100, 99, 1, 1, 1, 1}
Returns: 4
{23, 34, 58, 10, 1, 21, 12, 2, 1, 4, 3, 12, 100, 3, 45, 1, 2, 4, 29, 40, 2, 1}
Returns: 17
{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, 50}
Returns: 9
{4,1,1,3,1,2,4,4,3,1,1,2,3,1,4,3,3,1,4,3,4,2,1,4,1,1,2,4,2,3,4,43,3,43,1,2,30,51,2,1,4,3,1,1,1,4,4,3,3,2}
Returns: 18
{4,3,3,3,3,2,1,30,2,1,3,1,4,3,1,51,1,3,4,2,4,4,2,3,1,3,3,1,92,4,60,2,4,2,3,1,1,2,4,1,3,4,3,89,4,2,4,2,18,3}
Returns: 20
{1,4,50,1,4,1,2,3,2,4,4,4,1,3,97,2,3,2,3,1,4,58,4,1,4,3,4,3,3,2,3,1,3,4,4,1,2,1,11,2,1,2,4,2,2,3,2,1,3,2}
Returns: 18
{2,1,4,2,1,1,2,4,1,2,2,2,4,1,2,3,3,2,4,4,4,2,1,2,1,3,3,1,3,2,3,3,4,4,1,3,2,2,3,3,2,4,2,3,1,3,4,3,2,2}
Returns: 15
{3,1,2,1,4,4,2,1,1,2,1,2,4,3,3,1,1,3,71,2,1,4,3,95,1,2,3,3,3,2,1,1,1,88,27,58,16,4,3,2,3,4,3,4,1,1,3,1,2,2}
Returns: 19
{3,3,4,4,2,91,1,1,3,1,3,2,2,59,4}
Returns: 9
{1,1,4,3,29,1,1,1,1,3,2}
Returns: 6
{3,3,2,2,1,2,2}
Returns: 5
{2,2,2,1,4,3,3,1,2,4,4,4,1,3,3,4,4,2,3,3,4,99,2,3,3,2,2,1,1,2,4,3,2,3,4,2,14,1,3,1,4,4,89,3,2,46,3}
Returns: 18
{45,4}
Returns: 2
{2,2,2,1,2,1,4,2,1,3}
Returns: 5
{4,2}
Returns: 2
{2,4,29,1,3,3,4,4,4,4,72,1,3,2,1,1,6,4,3,4,1,1,4,1,3,3,2,1,1,1,3,4,1,4,64,4,4,70,2,4,1,2,4}
Returns: 18
{1,1,22,3,3,50,3,49,1,4,2,2,1,4,2,1,3,4,4,2,1,1,4,3,1,3,2,1,3,4,2,1,3,1,1,3,4,3,2,2,3,63,2,1,1,2,4,4,1,2}
Returns: 18
{1,81,3,56,1,1,2,2,1,2,1,4,2,4}
Returns: 8
{4,2,1,2,3,3,2,62,1}
Returns: 6
{2,2,2,1,1,4,4,40,1,3,3,3}
Returns: 7
{4,4,3,2,2,1,2,2,24,1,3,72,3,2,2,1,1,3,2,3,17,4,4,2,3,1,3,2,1,2,2}
Returns: 13
{4,2,2,3,4,1,3,4,1,3,2,1,94,1,2}
Returns: 8
{4,4,4,3,4,2,3,3,4}
Returns: 7
{1,2,3,1,2,3,4,3,1,4,1,1,4,4,2,2,4,3,2,2,41,48,4,1,3,3,3,2,4,4,4,1,3,1,3,1,2,24,34,3,1,3,1,1,2,2,1,4,3}
Returns: 18
{2,1,1,1,1,2,75,4,2}
Returns: 5
{2,2,3,2,3,3,1,2,2,1,4,3,23,4,53,4,1,1,4,75,2,4,2,4,3,3,1,4,1,4,4,4,3,3,3,3,1,1,1,3}
Returns: 16
{4,4,4,4,3,1,3,3,1,2,4,2,1,1,1,3,2,4,1,1,3,4,2,29,3,1,2,2,2,3,1,2,2,3,1,3,2,4,2,3,83,3,3,4,2,84,3,73}
Returns: 18
{2,4,2,2,3,3,2,1,3,4,4,3,1,49,1,1,4,100,1,1,2,3,1,1,1,2,2,2,1}
Returns: 12
{4,3,4,55,98,1,4,1,4,4,1,1,1}
Returns: 9
{98,2,6,1,50,4,2,2,98,1,83,4,2,2,1,9,1,4,8,3,4,2,3,4,1,2,2,1,16,4,1,1,1,18,3}
Returns: 18
{2,3,2,1,3,4,2,8,2,3,2,1,2,1,2,1,4,3,4,1,2,2,3,2,3,4,2,1,1,4,3,4,1,2,2,3,3,12,2,76,3,2}
Returns: 15
{3,1,4,3,42,4,4,3,4,3,4,3,3,1,1,2}
Returns: 9
{2,3,2,1,1,2,4,3,1,4,3,3,4,2,4,27,3,2,4,1,2,2,3,2,4,44,1,2,1,4,72,1,2,66,3,3,1,4,1,1,2,2,2,2,3,1,1,3,100}
Returns: 18
{4,11,2,2,1,4,1,4,28,4,4,2,2,1,3,3,1,2,1,2,2,1,2,2,3,2,1,4,2,2,3,4,1,69,2,4}
Returns: 14
{1,32,4,4,1,2,1,1,4,4,4,3,2,76,2,1,2}
Returns: 10
{1,77,2}
Returns: 3
{3,2,36,1,4,2,2,4,2,1,4,4,2,1,3,2,3,36,2,4,80,2,2,1,2,4,2,1,3,4,1,2,6,3,3,4,80,89,72,2,84}
Returns: 19
{3,3,4,1,1,4,3,2,2,4,3,2,2,3,1,4,1,4,5,4,1,4,4,2,2,96,3,4,4,3,3,3,4,3,3,3,4,3,2,34}
Returns: 16
{3,4,2,3,3,4,2,25,2,1,2,3,1,1,3,2,1,4,4,2,2,4,2,1}
Returns: 11
{2,1,1,4,3,3,2,2,75,4,4,40,2,2,2,4,4,3,4,2,3,3,2,3,4,3,2,4,2,3,2,1,3,4,3,3,90,3,3,3,39,4,4,4,3,4}
Returns: 19
{4,3,1}
Returns: 3
{4, 2, 3, 5, 7, 10, 12, 12, 15, 11, 4, 2, 14, 5, 7, 13, 22, 12, 15, 11, 4, 2, 11, 5, 14, 10, 22, 16, 14, 17, 4, 10, 3, 21, 7, 10, 11, 12, 14, 21, 21, 8, 2, 14, 11, 16, 24, 12, 16, 10 }
Returns: 32
{57, 100, 64 }
Returns: 3
{5, 2, 2, 1 }
Returns: 3
{100, 100, 100 }
Returns: 3
{100 }
Returns: 1
{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 }
Returns: 11
{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: 50
{10, 10, 10 }
Returns: 3
{1, 5, 6, 7, 88 }
Returns: 5
{1, 1 }
Returns: 1
{3 }
Returns: 1
{10 }
Returns: 1
{10, 10 }
Returns: 2
{100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }
Returns: 50
{100, 100 }
Returns: 2
{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 1, 1 }
Returns: 9
{10, 9, 2, 4 }
Returns: 4
{5, 5, 5 }
Returns: 3
{30 }
Returns: 1
{5 }
Returns: 1
{8, 8, 8, 8 }
Returns: 4
{20, 21, 22 }
Returns: 3
{100, 100, 100, 100, 100 }
Returns: 5
{100, 100, 95 }
Returns: 3
{1, 1, 1, 1, 100 }
Returns: 3
{100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 1 }
Returns: 50
{10, 5 }
Returns: 2
{100, 20, 30, 70, 60, 50, 10, 1, 99 }
Returns: 9
{100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }
Returns: 10
{6 }
Returns: 1
{7, 7, 7 }
Returns: 3
{2, 7, 9, 3, 1, 2, 2, 2 }
Returns: 6
{99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 77, 66, 55, 88, 98, 99, 88, 99, 77, 88, 87, 89, 98, 76, 67, 89, 87, 78, 98, 87, 76, 67, 87, 65, 56, 78, 76, 56, 76, 87, 87, 65, 78, 76, 67 }
Returns: 49
{1, 2, 3, 2, 23, 4, 32, 32, 43, 66, 2, 3, 4, 34, 43, 54, 54, 76, 87, 56, 23, 34, 34, 34, 45, 45, 45, 56, 94, 94, 49, 34, 32, 4, 3, 24, 34, 23, 4, 3, 3, 3, 34 }
Returns: 37
{1, 2, 3, 2, 10 }
Returns: 4
{5, 5 }
Returns: 2
{1, 2 }
Returns: 2
{100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }
Returns: 49
{6, 6, 6 }
Returns: 3