Problem Statement
Little Billy has several boxes full of candies in front of him. However he doesn't like that these boxes don't each contain the same number of candies, so he decides to eat some of the candies until they do.
Specifically, little Billy follows this algorithm:
Step 1: He calculates min, the minimum number of candies in a box, and max, the maximum number of candies in a box. If these numbers are equal the algorithm ends, otherwise continue with step 2.
Step 2: He arbitrarily chooses a box with max candies and eats min candies from it, then he returns to step 1.
You will be given a
Definition
- Class:
- CandyBoxes
- Method:
- remainingCandies
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int remainingCandies(int[] candies)
- (be sure your method is public)
Constraints
- candies will contain between 1 and 50 elements, inclusive.
- Each element of candies will be between 1 and 1,000, inclusive.
Examples
{7}
Returns: 7
There is only one box, so Billy doesn't eat any candies for now.
{7, 7}
Returns: 7
{7, 21, 14}
Returns: 7
First, Billy eats 7 candies from the second box, leaving 14 candies in it. In the following two steps, he will eat 7 candies from the second and third boxes, leaving 7 candies in each.
{3, 4, 5, 6, 7}
Returns: 1
{1, 1, 1, 1, 1, 1, 1, 1, 1}
Returns: 1
{10, 20, 30, 40, 50, 60}
Returns: 10
{343, 686}
Returns: 343
{632, 158, 948}
Returns: 158
{765, 1, 765, 765}
Returns: 1
{924, 308, 924, 924, 308}
Returns: 308
{856, 856, 856, 856, 856, 428}
Returns: 428
{800, 400, 400, 800, 200, 400, 200}
Returns: 200
{744, 930, 93, 372, 372, 930, 558, 930}
Returns: 93
{896, 704, 128, 832, 256, 128, 768, 960, 576}
Returns: 64
{879, 586, 586, 879, 879, 586, 879, 586, 879, 586}
Returns: 293
{915, 915, 915, 915, 305, 610, 915, 610, 610, 610, 610}
Returns: 305
{366, 549, 915, 183, 549, 549, 183, 366, 915, 549, 915, 366}
Returns: 183
{623, 534, 267, 801, 801, 445, 890, 178, 801, 979, 890, 178, 623}
Returns: 89
{804, 603, 402, 201, 402, 603, 402, 603, 201, 804, 201, 201, 201, 804}
Returns: 201
{630, 42, 966, 210, 714, 252, 378, 756, 462, 42, 462, 714, 756, 966, 252}
Returns: 42
{321, 963, 107, 856, 214, 749, 428, 963, 963, 535, 107, 321, 749, 535, 749, 963}
Returns: 107
{865, 346, 519, 346, 346, 519, 865, 692, 173, 692, 865, 346, 519, 692, 692, 865, 519}
Returns: 173
{225, 600, 100, 850, 150, 400, 900, 400, 75, 650, 50, 125, 925, 75, 425, 200, 75, 125}
Returns: 25
{69, 621, 759, 621, 138, 690, 966, 138, 690, 828, 690, 552, 552, 759, 138, 897, 69, 897, 621}
Returns: 69
{924, 132, 924, 660, 924, 264, 132, 660, 924, 660, 132, 792, 528, 396, 132, 924, 396, 792, 792, 528}
Returns: 132
{660, 198, 462, 990, 330, 396, 660, 726, 66, 66, 462, 594, 132, 396, 792, 264, 396, 858, 726, 528, 858}
Returns: 66
{371, 636, 742, 53, 636, 265, 53, 424, 530, 106, 530, 53, 530, 424, 530, 159, 159, 848, 689, 318, 424, 424}
Returns: 53
{59, 885, 118, 118, 236, 531, 767, 531, 649, 295, 590, 885, 295, 59, 944, 885, 118, 177, 708, 826, 59, 826, 590}
Returns: 59
{184, 276, 184, 92, 828, 828, 276, 920, 368, 552, 828, 368, 276, 368, 92, 828, 276, 460, 276, 920, 368, 460, 184, 920}
Returns: 92
{936, 416, 832, 832, 884, 572, 988, 364, 728, 728, 884, 468, 416, 104, 104, 312, 728, 364, 988, 312, 260, 104, 884, 312, 52}
Returns: 52
{348, 116, 696, 203, 232, 957, 290, 754, 319, 899, 783, 464, 493, 638, 406, 203, 348, 261, 29, 493, 406, 957, 696, 638, 928, 551}
Returns: 29
{183, 793, 976, 427, 915, 793, 122, 305, 488, 671, 854, 122, 671, 61, 61, 488, 854, 610, 793, 854, 549, 61, 915, 122, 305, 549, 915}
Returns: 61
{332, 581, 332, 664, 498, 83, 664, 830, 166, 83, 166, 830, 332, 747, 166, 581, 83, 249, 996, 498, 913, 664, 166, 581, 913, 83, 913, 913}
Returns: 83
{270, 90, 90, 180, 315, 630, 135, 765, 945, 900, 360, 900, 540, 585, 45, 945, 630, 945, 720, 90, 270, 450, 720, 540, 945, 900, 90, 540, 450}
Returns: 45
{342, 798, 684, 798, 114, 570, 684, 912, 798, 228, 684, 456, 342, 684, 684, 798, 912, 342, 684, 342, 684, 570, 912, 342, 342, 798, 342, 912, 912, 912}
Returns: 114
{240, 780, 360, 780, 300, 420, 60, 300, 720, 660, 180, 780, 420, 180, 420, 480, 720, 480, 480, 840, 900, 960, 660, 180, 360, 660, 900, 540, 660, 540, 180}
Returns: 60
{518, 925, 592, 481, 666, 259, 777, 592, 703, 333, 185, 703, 851, 703, 148, 111, 296, 185, 111, 444, 185, 814, 703, 148, 925, 814, 222, 481, 666, 148, 185, 925}
Returns: 37
{156, 390, 546, 156, 702, 468, 390, 936, 156, 468, 936, 936, 468, 780, 78, 936, 702, 468, 390, 702, 78, 546, 936, 858, 624, 78, 234, 468, 858, 78, 780, 702, 312}
Returns: 78
{183, 61, 366, 854, 732, 976, 732, 366, 671, 793, 122, 305, 549, 915, 610, 427, 366, 366, 854, 793, 671, 366, 305, 244, 915, 427, 305, 610, 854, 671, 488, 854, 366, 122}
Returns: 61
{858, 792, 198, 330, 660, 264, 528, 66, 924, 858, 858, 528, 726, 462, 66, 396, 198, 924, 330, 462, 594, 462, 462, 264, 792, 660, 924, 924, 396, 528, 990, 528, 924, 792, 594}
Returns: 66
{168, 280, 168, 672, 336, 672, 672, 840, 168, 616, 952, 504, 392, 224, 672, 896, 504, 168, 952, 168, 56, 896, 392, 672, 448, 560, 952, 672, 112, 896, 672, 168, 616, 728, 504, 840}
Returns: 56
{90, 90, 900, 180, 180, 810, 720, 810, 630, 720, 360, 630, 450, 270, 270, 900, 720, 720, 540, 360, 180, 90, 900, 180, 180, 270, 90, 450, 810, 180, 180, 810, 720, 900, 180, 990, 360}
Returns: 90
{384, 336, 240, 378, 696, 252, 432, 210, 510, 426, 672, 36, 726, 822, 222, 600, 942, 450, 288, 264, 384, 414, 132, 294, 528, 342, 360, 48, 444, 828, 144, 522, 690, 612, 474, 750, 828, 108}
Returns: 6
{598, 736, 736, 92, 138, 322, 414, 506, 828, 920, 322, 138, 460, 322, 276, 414, 322, 874, 828, 46, 644, 368, 966, 828, 736, 460, 782, 828, 598, 460, 966, 874, 230, 782, 414, 138, 598, 782, 828}
Returns: 46
{833, 391, 561, 578, 867, 697, 680, 34, 323, 646, 442, 187, 289, 204, 289, 697, 136, 697, 493, 425, 901, 102, 408, 221, 612, 884, 663, 935, 748, 867, 476, 289, 748, 782, 221, 748, 323, 544, 187, 561}
Returns: 17
{473, 947, 899, 790, 257, 229, 968, 787, 67, 3, 602, 218, 204, 829, 818, 676, 139, 573, 408, 818, 698, 13, 629, 866, 461, 924, 428, 495, 955, 939, 782, 52, 299, 652, 118, 697, 905, 389, 716, 769, 80}
Returns: 1
{486, 243, 810, 648, 324, 648, 810, 81, 162, 648, 162, 81, 567, 729, 81, 81, 324, 324, 810, 486, 324, 81, 486, 324, 810, 486, 567, 81, 243, 486, 405, 972, 729, 567, 729, 486, 891, 405, 324, 243, 567, 729}
Returns: 81
{8, 576, 400, 504, 544, 352, 408, 800, 424, 616, 296, 952, 736, 656, 816, 808, 672, 208, 408, 368, 24, 512, 400, 848, 920, 296, 352, 792, 648, 664, 808, 96, 72, 616, 464, 472, 224, 120, 624, 912, 344, 656, 416}
Returns: 8
{448, 448, 196, 448, 756, 28, 756, 840, 448, 28, 700, 28, 140, 644, 420, 504, 616, 28, 840, 784, 448, 980, 336, 252, 84, 896, 336, 140, 448, 504, 56, 280, 448, 168, 420, 196, 336, 868, 616, 924, 420, 616, 616, 196}
Returns: 28
{612, 476, 612, 476, 68, 136, 680, 884, 340, 680, 204, 952, 952, 204, 476, 136, 612, 816, 136, 748, 748, 68, 680, 816, 204, 204, 680, 680, 476, 952, 816, 544, 136, 680, 952, 204, 544, 408, 612, 544, 544, 748, 612, 952, 612}
Returns: 68
{25, 775, 900, 50, 475, 50, 400, 225, 875, 500, 25, 650, 425, 975, 775, 175, 400, 750, 350, 575, 925, 850, 625, 1000, 450, 875, 475, 200, 550, 125, 775, 750, 600, 825, 500, 325, 500, 750, 225, 825, 325, 575, 175, 500, 275, 950}
Returns: 25
{702, 540, 918, 972, 270, 324, 918, 216, 108, 756, 216, 378, 378, 648, 432, 432, 648, 432, 864, 918, 972, 162, 918, 864, 432, 972, 486, 918, 162, 702, 756, 540, 216, 702, 162, 270, 54, 972, 594, 162, 162, 324, 864, 810, 216, 810, 702}
Returns: 54
{76, 836, 228, 228, 684, 228, 152, 532, 456, 988, 836, 988, 608, 152, 760, 456, 532, 152, 988, 760, 456, 912, 836, 152, 152, 228, 456, 228, 684, 380, 304, 608, 304, 836, 380, 836, 760, 76, 912, 532, 304, 152, 304, 684, 152, 988, 380, 456}
Returns: 76
{840, 56, 336, 168, 728, 840, 56, 616, 840, 896, 112, 224, 224, 168, 392, 840, 224, 784, 784, 280, 840, 952, 448, 672, 168, 728, 896, 504, 616, 168, 616, 392, 168, 672, 448, 560, 448, 112, 672, 504, 392, 952, 560, 448, 56, 952, 336, 896, 952}
Returns: 56
{825, 605, 880, 385, 440, 440, 660, 825, 220, 770, 715, 110, 770, 165, 330, 990, 715, 165, 495, 715, 495, 935, 550, 165, 220, 275, 220, 110, 385, 825, 660, 440, 110, 715, 440, 660, 880, 825, 605, 495, 550, 165, 385, 715, 880, 605, 550, 550, 605, 605}
Returns: 55
{61, 671, 671, 244, 732, 976, 732, 854, 183, 366, 732, 549, 244, 61, 793, 854, 793, 549, 549, 854, 976, 671, 549, 61, 183, 854, 305, 610, 732, 488, 793, 915, 671, 122, 488, 427, 488, 549, 610, 305, 854, 427, 671, 244, 488, 122, 366, 183, 732, 122}
Returns: 61
{140, 497, 707, 525, 308, 91, 840, 889, 161, 770, 868, 889, 602, 462, 581, 364, 609, 546, 700, 189, 840, 616, 182, 266, 728, 868, 301, 686, 602, 945, 238, 217, 476, 980, 658, 329, 42, 70, 266, 259, 14, 350, 735, 455, 392, 28, 819, 896, 994, 742}
Returns: 7
{286, 52, 832, 104, 26, 910, 910, 260, 650, 858, 416, 624, 858, 702, 390, 832, 806, 156, 520, 650, 234, 468, 650, 988, 182, 78, 676, 806, 702, 130, 806, 260, 130, 442, 208, 910, 962, 312, 312, 364, 208, 234, 26, 78, 754, 806, 26, 546, 884, 520}
Returns: 26
{975, 364, 416, 806, 195, 208, 897, 403, 884, 819, 507, 325, 702, 715, 741, 871, 884, 429, 312, 91, 182, 390, 325, 754, 637, 286, 949, 299, 455, 520, 91, 208, 624, 585, 169, 390, 377, 871, 494, 429, 650, 364, 52, 819, 91, 611, 533, 793, 494, 156}
Returns: 13
{270, 450, 666, 270, 630, 198, 576, 252, 270, 414, 810, 432, 900, 72, 396, 774, 288, 972, 108, 126, 648, 216, 360, 900, 144, 198, 684, 18, 18, 882, 108, 594, 252, 954, 450, 918, 414, 90, 684, 702, 486, 378, 684, 612, 216, 666, 306, 270, 594, 126}
Returns: 18
{114, 627, 399, 456, 399, 798, 399, 798, 57, 570, 399, 57, 855, 513, 57, 513, 912, 342, 171, 855, 684, 114, 570, 399, 912, 684, 57, 456, 285, 627, 456, 912, 342, 741, 798, 855, 798, 855, 228, 627, 912, 114, 342, 171, 855, 798, 570, 342, 456, 285}
Returns: 57
{72, 864, 648, 864, 792, 864, 432, 720, 792, 576, 72, 72, 288, 936, 72, 936, 144, 720, 720, 720, 216, 576, 936, 72, 936, 720, 72, 432, 360, 72, 720, 576, 360, 432, 936, 72, 144, 792, 720, 72, 288, 936, 720, 576, 720, 288, 792, 792, 504, 432}
Returns: 72
{494, 988, 342, 152, 380, 38, 988, 38, 266, 722, 722, 798, 760, 798, 988, 76, 570, 494, 836, 494, 836, 456, 190, 570, 114, 342, 570, 304, 760, 874, 760, 190, 228, 38, 760, 874, 152, 608, 836, 722, 418, 418, 380, 760, 152, 646, 76, 380, 190, 76}
Returns: 38
{320, 576, 704, 384, 256, 384, 832, 384, 128, 384, 256, 512, 704, 896, 320, 320, 640, 576, 576, 832, 64, 384, 704, 256, 960, 192, 448, 896, 832, 960, 384, 960, 192, 640, 896, 384, 192, 832, 448, 320, 384, 320, 704, 192, 640, 832, 64, 128, 576, 576}
Returns: 64
{159, 212, 583, 106, 424, 742, 795, 265, 530, 954, 954, 954, 689, 159, 848, 53, 848, 318, 159, 795, 901, 265, 318, 318, 477, 318, 424, 583, 530, 689, 424, 318, 106, 901, 424, 636, 477, 636, 371, 901, 583, 477, 424, 636, 318, 795, 689, 954, 371, 265}
Returns: 53
{1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000}
Returns: 1000
{951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000}
Returns: 1