Problem Statement
A column diagram is composed of n consecutive columns arranged in a horizontal row. Each column has a width of 1, and the base of each column is on the x-axis. The heights of the columns are given in the
Return the perimeter of the given column diagram.
Definition
- Class:
- ColumnDiagramPerimeter
- Method:
- getPerimiter
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int getPerimiter(int[] a)
- (be sure your method is public)
Constraints
- a will contain between 1 and 50 elements, inclusive.
- Each element of a will be between 1 and 50, inclusive.
Examples
{2,3,5,6,1}
Returns: 22
This column diagram is shown on the picture in the problem statement.
{3,2,1}
Returns: 12
{2,2}
Returns: 8
{1,2,1}
Returns: 10
{1,2,3}
Returns: 12
{2,1,2}
Returns: 12
{50}
Returns: 102
{50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1,50,1}
Returns: 2552
{33}
Returns: 68
{27,50}
Returns: 104
{5,10,45}
Returns: 96
{21,6,26,7}
Returns: 90
{1,29,20,22,24}
Returns: 76
{33,35,46,34,31,38}
Returns: 118
{41,36,5,32,16,20,15}
Returns: 158
{18,40,37,35,21,32,7,15}
Returns: 134
{8,18,34,14,16,5,41,2,42}
Returns: 242
{48,19,45,49,6,21,6,5,13,50}
Returns: 296
{12,43,10,2,23,8,8,14,45,41,29}
Returns: 224
{28,7,6,9,33,8,17,13,15,16,3,12}
Returns: 176
{6,31,38,21,32,15,36,8,44,15,14,10,43}
Returns: 304
{9,34,16,33,21,24,11,17,15,19,43,19,41,45}
Returns: 256
{38,3,33,17,38,20,23,14,10,25,14,17,38,1,23}
Returns: 336
{36,41,15,13,42,48,3,42,27,26,18,16,12,26,40,41}
Returns: 320
{11,17,49,5,46,32,35,24,4,38,8,48,28,36,20,12,28}
Returns: 416
{48,7,29,14,34,41,11,36,42,49,42,24,43,43,2,18,9,43}
Returns: 444
{3,10,30,43,5,15,11,3,39,33,35,40,31,2,30,5,35,28,6}
Returns: 346
{1,41,44,26,41,16,33,18,5,29,21,30,8,31,33,26,21,18,11,31}
Returns: 348
{37,32,27,35,15,8,41,44,7,22,35,28,38,18,48,46,17,44,33,13,19}
Returns: 406
{45,4,37,4,17,22,41,50,35,27,11,50,24,3,18,36,3,38,35,39,39,11}
Returns: 514
{37,7,49,31,43,43,4,16,50,16,10,40,32,29,50,28,14,38,25,46,14,10,41}
Returns: 574
{33,46,21,16,21,6,31,10,16,10,35,14,41,43,1,7,39,49,22,45,50,14,32,10}
Returns: 508
{43,39,31,35,17,30,39,9,16,49,50,10,49,46,1,24,5,3,49,32,43,17,47,49,22}
Returns: 572
{8,24,23,48,21,29,17,31,17,24,49,27,35,11,20,35,6,13,41,19,42,25,21,18,5,22}
Returns: 472
{20,30,41,34,27,13,9,8,6,31,8,33,41,38,13,27,50,14,6,3,43,37,4,42,13,7,13}
Returns: 494
{20,21,27,19,15,10,46,4,20,16,43,32,44,12,18,46,36,34,46,21,20,5,42,38,31,21,22,7}
Returns: 460
{22,46,40,40,46,5,43,7,46,19,8,17,42,36,2,24,34,16,31,6,48,50,50,48,16,10,12,32,10}
Returns: 610
{24,46,35,43,35,45,18,25,5,30,14,6,23,19,19,36,1,36,15,10,41,1,27,3,12,18,26,9,17,35}
Returns: 602
{40,23,34,4,22,4,11,44,17,36,30,16,46,44,30,13,27,2,45,46,38,15,25,7,46,50,16,7,23,24,1}
Returns: 634
{46,21,17,36,48,13,28,39,50,30,35,14,4,49,3,12,29,48,25,27,24,11,47,29,6,30,31,4,15,30,27,19}
Returns: 660
{20,13,43,42,6,50,27,21,32,9,16,25,12,15,34,35,42,21,6,36,12,39,13,25,12,30,37,50,42,19,13,7,41}
Returns: 650
{9,25,10,38,12,24,3,26,8,37,30,44,5,45,49,8,23,19,50,1,14,10,29,11,3,46,19,38,9,15,28,7,47,26}
Returns: 816
{22,20,11,26,8,45,44,22,4,5,7,33,25,10,17,1,45,29,23,10,3,21,34,48,20,39,36,29,49,9,12,4,36,39,24}
Returns: 622
{2,37,16,27,11,31,23,32,13,48,41,2,11,30,2,43,28,47,11,24,46,39,38,32,26,16,30,1,3,39,10,11,15,5,48,15}
Returns: 742
{20,29,16,24,16,15,17,3,23,23,41,2,38,41,27,7,46,19,26,21,23,11,17,41,22,50,41,28,14,34,35,11,20,39,39,2,39}
Returns: 690
{30,31,24,34,28,50,35,18,43,9,12,16,22,45,1,39,15,41,35,49,10,42,21,14,22,21,22,35,13,50,42,10,7,44,32,10,36,29}
Returns: 788
{45,12,49,2,33,50,28,35,15,11,49,10,44,2,22,9,22,1,48,22,27,15,44,5,31,16,36,11,11,46,28,38,12,2,19,1,1,34,26}
Returns: 1006
{12,47,42,7,27,3,35,24,20,17,30,23,15,23,28,6,14,33,34,30,50,41,16,16,27,8,47,46,11,22,32,42,28,10,23,39,7,35,16,20}
Returns: 710
{50,20,18,37,2,39,10,39,26,24,29,42,31,47,32,20,50,4,47,8,22,37,14,47,20,2,18,10,28,39,45,41,40,27,15,18,17,2,2,32,23}
Returns: 858
{14,8,29,28,31,47,23,35,49,13,4,49,42,47,16,34,17,38,17,49,14,22,17,48,10,6,7,3,44,50,10,11,12,41,32,38,11,15,9,23,29,12}
Returns: 782
{27,9,7,49,10,45,16,14,34,13,35,44,24,45,1,31,23,31,44,10,29,49,42,29,29,41,8,48,29,45,36,19,13,36,37,42,14,45,47,16,50,14,38}
Returns: 994
{35,35,4,19,49,28,40,36,8,1,29,7,47,32,1,25,30,3,44,48,1,38,39,20,15,39,34,45,41,50,41,14,31,18,14,32,14,33,11,25,24,33,1,39}
Returns: 950
{44,1,49,37,17,1,25,42,2,45,19,36,5,33,25,5,1,46,49,35,40,25,49,3,12,11,24,23,41,21,48,43,39,33,10,13,11,6,35,26,49,41,3,21,2}
Returns: 966
{22,4,5,21,23,6,8,39,10,29,46,28,46,38,11,29,32,2,9,4,49,9,6,16,7,47,13,31,2,47,35,11,30,43,44,25,5,7,21,26,31,6,40,38,40,12}
Returns: 910
{13,12,44,7,39,32,28,21,23,47,30,18,49,43,49,13,31,28,3,40,33,17,46,19,25,44,36,47,11,50,10,50,32,12,25,36,41,29,4,48,9,6,37,19,49,28,5}
Returns: 1040
{4,41,47,9,50,40,34,10,48,47,42,10,20,34,1,33,32,8,3,36,37,11,7,13,41,17,35,17,40,19,26,48,20,45,5,24,25,9,2,5,35,48,47,3,49,40,46,33}
Returns: 1022
{13,50,30,5,2,3,8,36,18,37,41,16,41,1,38,46,45,26,18,27,31,14,37,41,9,13,46,7,17,41,21,39,21,21,23,25,3,19,8,6,40,16,11,23,3,45,9,16,31}
Returns: 970
{43,31,44,3,47,10,41,48,19,21,29,18,25,38,48,24,4,36,37,47,9,6,14,4,28,25,14,28,13,30,31,16,1,9,21,17,39,34,42,25,9,29,3,38,50,10,30,24,26,7}
Returns: 948
{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: 200
{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,1}
Returns: 102
{2, 1, 2 }
Returns: 12
{5, 1, 5 }
Returns: 24
{2, 3, 5, 6, 1 }
Returns: 22
{5, 3, 5 }
Returns: 20
{1 }
Returns: 4
{10, 2, 10 }
Returns: 42
{1, 3, 2, 3 }
Returns: 16
{1, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3 }
Returns: 54
{3, 2, 3, 2, 5, 2 }
Returns: 26
{1, 2, 1, 3, 1, 2 }
Returns: 22
{5, 2, 5 }
Returns: 22
{3, 2, 1, 40 }
Returns: 92
{1, 2, 3, 5, 23, 44, 11, 22, 9, 32, 22 }
Returns: 178
{2, 1, 3, 2, 3 }
Returns: 20
{10, 5, 10 }
Returns: 36
{35, 4, 15 }
Returns: 98
{3, 2, 3 }
Returns: 14
{1, 2, 3, 4, 5, 1, 3, 2 }
Returns: 30
{5, 1, 3, 8, 2, 20, 4 }
Returns: 74
{5, 3, 5, 2, 3, 5 }
Returns: 32
{10, 3, 4, 1, 7 }
Returns: 44
{1, 2, 3, 4, 5, 4, 3, 2, 3, 4, 5, 4, 3, 2, 1 }
Returns: 46
{1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 }
Returns: 50
{1, 2, 3, 2, 1, 2, 3, 2, 1 }
Returns: 28
{10 }
Returns: 22
{1, 5, 2, 12, 2 }
Returns: 40
{2, 10, 2, 10, 2, 10, 2, 20, 1 }
Returns: 106
{2, 28, 15, 21, 10, 5, 39, 39, 3, 25 }
Returns: 200
{1, 5, 2, 4, 5, 6, 7, 1, 2, 4, 6, 5, 2, 4, 6, 7, 8, 8, 5, 3, 3, 3, 5, 6, 7 }
Returns: 100
{4, 2, 4 }
Returns: 18