Problem Statement
Definition
- Class:
- BasicSorting
- Method:
- minSortTime
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int minSortTime(int[] sizes)
- (be sure your method is public)
Notes
- No two files are 'equal' -- one of them always belongs strictly after the other in the ordering.
Constraints
- sizes will contain between 2 and 6 elements, inclusive.
- Each element of sizes will be between 1 and 100, inclusive.
Examples
{1,2,3}
Returns: 11
With 3 files, you must compare all 3 pairs of files to figure out the order. The total time is thus 1*2 + 1*3 + 2*3 = 11 minutes.
{1,1,1,1}
Returns: 5
One way to do this is to find the order on three of the files, which takes 3 minutes. Then, compare the fourth file to the middle one of those three files. Finally, if the fourth file comes after the middle file, compare it to the last file, while if it comes before the fourth file, compare it to the first file.
{15,74,61,34,21}
Returns: 12477
{1,2,3,4,5,6}
Returns: 128
{1,1,1,1,1,1}
Returns: 10
{1,2,3,4,5}
Returns: 67
{1,1}
Returns: 1
{30,40,10,45,71,78}
Returns: 21903
{30,55,31,12,62,86}
Returns: 21425
{67,93,36,45,75,3}
Returns: 30084
{15,71,15,70,2,93}
Returns: 21878
{51,85,15,8}
Returns: 6903
{57,10,69,51,96,66}
Returns: 34515
{93,76,26,3,61,64}
Returns: 30935
{44,86,75,53,96,5}
Returns: 38263
{90,78,62,92,48,81}
Returns: 57594
{82,50,27,78,70,39}
Returns: 33919
{50,49,38,53,93,65}
Returns: 33341
{23,28,84,82,44,86}
Returns: 34090
{82,90,12,2,22,74}
Returns: 24376
{9,78,16,43,18}
Returns: 7372
{84,69,42,12,94,53}
Returns: 36539
{50,19,54,42,80,24}
Returns: 20196
{57,62,16,85,96,33}
Returns: 35167
{20,61,7,80,70,12}
Returns: 18701
{42,58,61,23,56,88}
Returns: 29498
{99,75,3,12,46,37}
Returns: 21721
{88,36,80,16,39}
Returns: 19908
{24,94,35,68,77,33}
Returns: 30271
{90,79,5,66,47,97}
Returns: 43494
{75,69,54,81,32,34}
Returns: 33728
{96,33,29,66,45,39}
Returns: 25407
{59,12,10,76,37}
Returns: 11437
{87,97,97,67,46,54}
Returns: 56790
{88,90,9,26,51,21}
Returns: 23292
{58,25,95,18,65}
Returns: 20284
{43,95,66,39,74,61}
Returns: 39667
{52,19,13,49,25}
Returns: 7480
{21,22,78,7,48,17}
Returns: 10162
{85,88,73,100,61,9}
Returns: 49900
{71,33,40,34,91,65}
Returns: 30991
{30,95,5,15}
Returns: 4950
{84,4,99,86,94}
Returns: 41764
{28,72,2,14,82,43}
Returns: 17178
{31,70,18,4,44,18}
Returns: 9692
{17,11,54,89,38,38}
Returns: 16728
{57,41,70,66}
Returns: 17415
{44,54,97,20,42}
Returns: 18818
{51,31,20,39,55,75}
Returns: 20379
{47,80,8,66,50,90}
Returns: 33474
{8,28,73,96}
Returns: 12548
{80,83,47,16,74,28}
Returns: 31020
{25,45,16,73,57,36}
Returns: 17933
{30,14,86,65,77}
Returns: 22061
{65,65,53,50,72,60}
Returns: 37246
{7,33,53,9,56,6}
Returns: 7890
{17,77,7,59,59,85}
Returns: 27697
{3,95,50,36,23}
Returns: 12017
{22,27,40,71,13,94}
Returns: 20079
{3,80,96,1,33}
Returns: 13860
{25,66,89,40,55,34}
Returns: 26345
{7,85,84,41,94}
Returns: 30242
{82,45,46,89,18,47}
Returns: 29781
{78,4,35,58,54,33}
Returns: 20021
{33,79,40,2,84,69}
Returns: 28132
{84,51,25,33,37}
Returns: 15208
{32,31,39,95,77,54}
Returns: 29346
{53,64,32,53,69,24}
Returns: 24594
{68,66,88,90,60,43}
Returns: 48424
{69,2,62,36,94,58}
Returns: 29994
{71,31,97,29,22}
Returns: 17869
{93,68,17,26,35,2}
Returns: 16899
{73,80,5,55,50,23}
Returns: 24410
{36,88,28,76,3,37}
Returns: 20836
{56,75,18,30,46,21}
Returns: 16778
{71,68,82,99,27}
Returns: 35963
{37,6,46,74,19,44}
Returns: 14680