Problem Statement
This morning, at exactly 8:00am, Alice started on a hike up from the bottom to the top of a local hill. At the same time,
Bob began to hike down from the top to the bottom of the same hill. Both hikers used the same trail, and they passed each
other sometime during the hike. Given minute-by-minute records of the distance hiked by each hiker, as two
For example, suppose Alice hiked at a steady pace of 25 meters per minute for a total of 10 minutes, whereas Bob hiked at 30 meters per minute for the first 7 minutes, and 20 meters per minute for the next 2 minutes. They passed each other between 8:04am and 8:05am, so you would return 4.
Definition
- Class:
- Hiking
- Method:
- meet
- Parameters:
- int[], int[]
- Returns:
- int
- Method signature:
- int meet(int[] alice, int[] bob)
- (be sure your method is public)
Constraints
- alice contains between 1 and 50 elements, inclusive.
- bob contains between 1 and 50 elements, inclusive.
- Each element of alice is between 0 and 1000, inclusive.
- Each element of bob is between 0 and 1000, inclusive.
- At least one element of alice is positive.
- At least one element of bob is positive.
- The sum of the elements in alice equals the sum of the elements in bob.
Examples
{ 25,25,25,25,25,25,25,25,25,25 }
{ 30,30,30,30,30,30,30,20,20 }
Returns: 4
The example above.
{ 100,100,0,0,0,100,100 }
{ 100,100,0,0,0,100,100 }
Returns: 2
The hikers met at exactly 8:02am. They stopped to chat for several minutes before continuing their hikes.
{ 100,100,100,100,100,100,100,100,100,100 }
{ 1000 }
Returns: 0
Bob tripped over a root at the top of the hill and fell all the way to the bottom.
{ 1,2,3,4,5,6,7,8,9,30 }
{ 1,2,3,4,5,6,7,8,9,30 }
Returns: 8
{ 0,0,0,0,0,100 }
{ 40,30,20,10 }
Returns: 4
{ 314 }
{ 127, 50, 19, 94, 24 }
Returns: 0
{ 131, 31 }
{ 9, 89, 64 }
Returns: 1
{ 947, 840, 695 }
{ 849, 204, 653, 776 }
Returns: 1
{ 512, 613, 131, 934 }
{ 730, 816, 644 }
Returns: 1
{ 673, 432, 648, 571, 395 }
{ 717, 712, 329, 961 }
Returns: 2
{ 348, 788, 171, 207, 317, 94 }
{ 264, 103, 364, 47, 14, 338, 369, 127, 20, 279 }
Returns: 2
{ 136, 897, 749, 826, 376, 83, 599 }
{ 356, 662, 994, 730, 924 }
Returns: 2
{ 659, 751, 300, 580, 274, 168, 771, 393 }
{ 629, 43, 57, 741, 363, 422, 518, 75, 393, 59, 596 }
Returns: 4
{ 247, 670, 359, 330, 182, 912, 825, 711, 44 }
{ 451, 798, 815, 365, 516, 442, 554, 339 }
Returns: 4
{ 204, 372, 346, 473, 774, 893, 835, 13, 419, 220 }
{ 611, 355, 885, 936, 337, 581, 844 }
Returns: 4
{ 360, 461, 767, 634, 973, 537, 529, 548, 708, 673, 572 }
{ 238, 818, 22, 900, 802, 143, 721, 328, 380, 401, 56, 106, 990, 289, 568 }
Returns: 6
{ 710, 977, 521, 391, 324, 18, 587, 719, 746, 116, 881, 857 }
{ 28, 174, 431, 516, 24, 424, 132, 319, 428, 208, 611, 869, 428, 630, 903, 722 }
Returns: 8
{ 102, 635, 636, 862, 982, 307, 923, 331, 71, 883, 957, 924, 930 }
{ 767, 855, 973, 854, 690, 874, 846, 932, 888, 864 }
Returns: 6
{ 498, 223, 950, 959, 4, 8, 15, 559, 336, 813, 249, 601, 119, 801 }
{ 115, 244, 340, 458, 698, 775, 581, 823, 104, 555, 438, 738, 1, 265 }
Returns: 7
{ 169, 847, 241, 78, 219, 490, 229, 425, 550, 892, 0, 524, 981, 298, 511 }
{ 92, 400, 472, 1, 265, 273, 451, 257, 158, 610, 827, 64, 529, 286, 954, 815 }
Returns: 9
{ 431, 789, 401, 853, 170, 431, 557, 573, 412, 588, 899, 650, 824, 430, 737, 432 }
{ 591, 524, 190, 819, 335, 444, 714, 238, 426, 714, 382, 918, 494, 997, 957, 434 }
Returns: 9
{ 95, 334, 570, 349, 776, 686, 795, 742, 772, 171, 722, 12, 253, 565, 433, 986, 587 }
{ 516, 523, 212, 883, 707, 102, 390, 142, 402, 620, 732, 493, 296, 346, 940, 390, 224, 158, 772 }
Returns: 8
{ 758, 583, 120, 450, 533, 997, 723, 623, 762, 341, 738, 14, 466, 584, 280, 281, 39, 229 }
{ 954, 895, 983, 651, 868, 631, 596, 706, 494, 954, 789 }
Returns: 6
{ 873, 643, 378, 461, 343, 348, 992, 950, 893, 200, 840, 807, 489, 836, 238, 503, 433, 771, 570 }
{ 942, 913, 393, 603, 503, 835, 718, 804, 818, 701, 574, 504, 667, 669, 997, 927 }
Returns: 8
{ 591, 199, 176, 536, 219, 519, 736, 300, 276, 974, 459, 796, 153, 442, 193, 611, 515, 246, 688, 747 }
{ 102, 75, 849, 519, 750, 734, 713, 412, 746, 169, 894, 113, 82, 260, 143, 301, 304, 9, 849, 406, 619, 327 }
Returns: 9
{ 628, 772, 683, 996, 513, 903, 321, 984, 545, 459, 496, 324, 538, 624, 580, 189, 895, 846, 678, 160, 283 }
{ 566, 666, 176, 843, 788, 199, 691, 681, 231, 421, 928, 376, 868, 117, 215, 477, 644, 305, 912, 159, 945, 372, 194, 643 }
Returns: 10
{ 720, 888, 299, 796, 535, 803, 99, 690, 231, 862, 538, 509, 97, 905, 230, 889, 459, 995, 449, 128, 880, 694 }
{ 183, 399, 591, 901, 971, 580, 641, 10, 117, 404, 662, 989, 835, 966, 966, 425, 334, 435, 948, 498, 783, 58 }
Returns: 11
{ 854, 576, 68, 19, 962, 610, 574, 206, 36, 143, 251, 191, 786, 980, 505, 955, 767, 597, 171, 28, 202, 130, 357 }
{ 593, 398, 581, 58, 214, 521, 222, 176, 988, 119, 251, 382, 245, 377, 961, 390, 211, 480, 688, 227, 441, 458, 362, 625 }
Returns: 12
{ 885, 768, 749, 276, 943, 357, 585, 551, 149, 121, 208, 837, 897, 188, 13, 491, 467, 166, 86, 670, 863, 253, 410, 635 }
{ 890, 808, 818, 596, 705, 647, 895, 451, 715, 961, 912, 141, 382, 35, 581, 723, 91, 415, 175, 627 }
Returns: 8
{ 767, 608, 73, 445, 99, 111, 484, 356, 825, 670, 564, 844, 380, 75, 933, 680, 204, 4, 917, 228, 424, 820, 945, 548, 540 }
{ 736, 825, 906, 336, 975, 426, 612, 497, 913, 600, 460, 790, 836, 704, 690, 835, 697, 706 }
Returns: 11
{ 691, 541, 816, 981, 180, 867, 752, 517, 201, 844, 838, 651, 629, 634, 981, 688, 51, 947, 357, 795, 758, 247, 932, 467, 620, 475 }
{ 972, 907, 904, 919, 769, 810, 905, 909, 957, 917, 897, 926, 972, 990, 939, 961, 967, 839 }
Returns: 10
{ 653, 171, 776, 494, 240, 739, 52, 923, 64, 881, 235, 76, 752, 935, 974, 338, 240, 567, 431, 503, 212, 365, 110, 374, 307, 572, 368 }
{ 506, 536, 255, 302, 708, 314, 770, 739, 28, 397, 100, 815, 265, 212, 409, 137, 41, 497, 733, 436, 28, 559, 26, 679, 654, 45, 385, 801, 766, 209 }
Returns: 13
{ 480, 359, 464, 9, 226, 666, 276, 623, 287, 5, 652, 161, 615, 626, 852, 98, 664, 656, 355, 364, 689, 42, 619, 852, 284, 168, 899, 975 }
{ 1000, 997, 999, 994, 997, 998, 998, 996, 999, 998, 998, 995, 997 }
Returns: 9
{ 248, 626, 849, 90, 37, 851, 121, 899, 274, 593, 716, 922, 830, 403, 685, 175, 854, 294, 914, 216, 966, 504, 102, 25, 804, 785, 965, 302, 117 }
{ 516, 746, 950, 427, 970, 811, 658, 680, 885, 355, 852, 672, 923, 916, 164, 781, 801, 197, 396, 423, 427, 999, 618 }
Returns: 12
{ 186, 406, 997, 430, 219, 549, 317, 755, 410, 718, 831, 393, 446, 854, 473, 645, 322, 615, 536, 260, 824, 865, 26, 325, 781, 978, 261, 423, 376, 693 }
{ 893, 525, 53, 859, 372, 530, 943, 882, 170, 796, 558, 277, 604, 996, 382, 317, 778, 898, 546, 405, 508, 153, 697, 568, 141, 267, 367, 536, 115, 778 }
Returns: 13
{ 785, 29, 929, 148, 391, 882, 868, 458, 173, 346, 609, 272, 663, 182, 982, 59, 402, 475, 30, 63, 386, 707, 114, 360, 381, 448, 229, 93, 908, 788, 582 }
{ 979, 983, 999, 987, 956, 991, 981, 994, 992, 981, 986, 982, 940, 991 }
Returns: 9
{ 65, 579, 645, 659, 373, 166, 717, 670, 968, 623, 214, 459, 919, 88, 955, 526, 617, 629, 335, 538, 509, 204, 137, 134, 841, 522, 451, 23, 927, 482, 694, 726 }
{ 795, 894, 703, 804, 585, 819, 632, 766, 951, 737, 810, 780, 982, 787, 626, 814, 862, 949, 455, 688, 956 }
Returns: 12
{ 438, 727, 360, 480, 210, 652, 819, 58, 239, 496, 194, 218, 509, 748, 626, 966, 385, 908, 284, 281, 755, 385, 568, 92, 505, 92, 518, 623, 10, 65, 579, 712, 68 }
{ 980, 515, 252, 382, 172, 822, 841, 870, 562, 76, 693, 765, 499, 251, 80, 235, 250, 267, 364, 378, 460, 853, 611, 662, 658, 400, 329, 728, 615 }
Returns: 15
{ 10, 22, 593, 124, 848, 699, 755, 952, 598, 745, 801, 111, 191, 111, 851, 346, 874, 400, 829, 279, 653, 194, 107, 754, 942, 715, 167, 632, 451, 284, 710, 125, 834, 702 }
{ 922, 866, 720, 428, 672, 915, 770, 917, 971, 77, 612, 539, 125, 67, 589, 149, 642, 909, 777, 124, 853, 528, 522, 820, 796, 134, 398, 753, 814 }
Returns: 16
{ 564, 430, 49, 801, 855, 807, 400, 266, 645, 643, 121, 312, 206, 513, 298, 802, 374, 129, 32, 59, 461, 381, 944, 427, 770, 388, 616, 902, 75, 387, 825, 985, 580, 365, 0 }
{ 731, 966, 888, 976, 676, 997, 931, 849, 797, 713, 868, 994, 838, 996, 713, 919, 797, 906, 857 }
Returns: 12
{ 500, 787, 15, 411, 251, 256, 152, 422, 689, 940, 552, 818, 859, 792, 672, 236, 531, 215, 815, 384, 816, 975, 101, 593, 142, 669, 734, 815, 253, 788, 139, 378, 522, 120, 15, 17 }
{ 972, 622, 450, 252, 818, 97, 853, 310, 684, 838, 973, 740, 599, 457, 531, 830, 817, 942, 693, 827, 980, 663, 490, 910, 304, 146, 576 }
Returns: 15
{ 128, 2, 721, 779, 920, 970, 494, 171, 492, 412, 880, 560, 408, 748, 12, 541, 315, 994, 562, 663, 782, 241, 98, 429, 601, 20, 216, 808, 592, 682, 457, 417, 779, 582, 648, 499, 233 }
{ 265, 782, 827, 890, 459, 866, 609, 503, 825, 996, 915, 659, 891, 676, 829, 311, 900, 493, 890, 695, 446, 895, 820, 948, 498, 968 }
Returns: 15
{ 39, 413, 708, 260, 408, 241, 730, 557, 938, 148, 46, 161, 71, 991, 93, 475, 213, 819, 210, 732, 822, 98, 10, 212, 539, 579, 161, 246, 854, 303, 971, 920, 968, 277, 256, 12, 799, 773 }
{ 495, 660, 796, 310, 744, 228, 917, 854, 271, 517, 442, 149, 456, 207, 533, 927, 17, 656, 706, 140, 814, 554, 976, 917, 236, 368, 533, 696, 411, 686, 473, 364 }
Returns: 18
{ 508, 209, 106, 328, 516, 32, 142, 372, 938, 907, 957, 793, 382, 598, 17, 860, 587, 636, 382, 189, 485, 240, 253, 874, 350, 2, 952, 755, 956, 55, 15, 144, 823, 480, 580, 206, 591, 769, 883 }
{ 735, 771, 313, 657, 752, 599, 425, 443, 853, 185, 7, 792, 830, 278, 206, 525, 303, 938, 363, 525, 307, 452, 272, 919, 957, 748, 908, 690, 237, 924, 389, 555, 724, 290 }
Returns: 18
{ 818, 557, 203, 462, 664, 928, 542, 880, 349, 651, 942, 294, 589, 601, 522, 239, 877, 509, 208, 746, 589, 179, 699, 175, 605, 98, 412, 154, 820, 388, 295, 670, 204, 912, 350, 638, 76, 222, 59, 19 }
{ 878, 747, 869, 765, 797, 760, 958, 834, 762, 741, 943, 924, 992, 935, 962, 953, 864, 819, 905, 910, 860, 967 }
Returns: 13
{ 835, 561, 317, 818, 419, 494, 70, 580, 497, 885, 676, 485, 960, 34, 413, 11, 62, 494, 650, 820, 860, 431, 872, 77, 646, 580, 740, 14, 802, 5, 933, 126, 990, 905, 881, 815, 149, 818, 477, 535, 344 }
{ 915, 806, 805, 853, 896, 979, 958, 923, 985, 955, 978, 717, 942, 648, 896, 578, 623, 937, 778, 871, 818, 924, 744, 758, 942, 852 }
Returns: 16
{ 520, 637, 265, 287, 659, 524, 507, 194, 571, 593, 633, 716, 239, 357, 432, 990, 926, 6, 923, 357, 776, 859, 29, 993, 195, 401, 974, 518, 303, 48, 628, 647, 414, 140, 359, 561, 639, 901, 154, 711, 379, 55 }
{ 778, 975, 918, 849, 925, 805, 854, 785, 915, 684, 758, 743, 897, 819, 932, 983, 971, 655, 804, 638, 771, 779, 990, 879, 913 }
Returns: 15
{ 638, 894, 747, 144, 349, 717, 990, 837, 183, 809, 349, 6, 131, 801, 811, 894, 377, 526, 513, 686, 883, 529, 898, 99, 36, 961, 164, 362, 524, 968, 684, 393, 928, 671, 202, 325, 751, 830, 56, 417, 478, 329, 367 }
{ 245, 824, 823, 826, 375, 354, 676, 761, 420, 613, 467, 654, 356, 657, 932, 542, 190, 587, 663, 496, 617, 227, 391, 732, 730, 196, 29, 569, 324, 711, 68, 233, 992, 731, 647, 20, 804, 455, 503, 408, 762, 813, 258, 576 }
Returns: 20
{ 157, 573, 395, 169, 360, 750, 403, 329, 821, 881, 856, 106, 642, 236, 554, 874, 908, 893, 534, 320, 100, 678, 379, 446, 427, 861, 342, 776, 141, 462, 145, 206, 48, 62, 710, 832, 359, 32, 800, 511, 750, 172, 534, 905 }
{ 987, 984, 962, 993, 978, 995, 978, 995, 981, 969, 974, 982, 982, 964, 970, 975, 891, 998, 954, 952, 976, 999 }
Returns: 14
{ 557, 509, 179, 32, 498, 719, 248, 554, 173, 33, 410, 68, 483, 716, 21, 873, 52, 958, 126, 323, 85, 506, 614, 641, 306, 556, 19, 261, 251, 30, 938, 45, 912, 970, 549, 821, 423, 662, 930, 589, 267, 305, 421, 472, 252 }
{ 260, 754, 347, 990, 493, 970, 346, 962, 669, 347, 603, 239, 739, 602, 508, 115, 884, 740, 708, 397, 128, 987, 857, 457, 266, 748, 672, 365, 857, 547, 635, 755, 410 }
Returns: 20
{ 781, 164, 849, 755, 958, 780, 41, 0, 580, 258, 469, 643, 616, 628, 158, 523, 549, 981, 144, 631, 562, 617, 618, 247, 308, 894, 296, 761, 872, 256, 205, 321, 81, 501, 510, 510, 939, 13, 42, 968, 558, 815, 697, 481, 701, 568 }
{ 290, 207, 145, 603, 788, 784, 457, 376, 775, 235, 972, 52, 359, 724, 830, 229, 664, 160, 946, 978, 162, 346, 341, 384, 37, 988, 299, 298, 687, 397, 618, 32, 18, 911, 575, 236, 322, 941, 589, 257, 736, 479, 584, 288, 717, 975, 843, 215 }
Returns: 23
{ 478, 401, 448, 48, 130, 121, 611, 57, 902, 973, 921, 427, 235, 457, 700, 579, 808, 587, 571, 908, 896, 409, 93, 717, 101, 491, 746, 229, 481, 210, 441, 159, 460, 380, 355, 953, 58, 497, 763, 886, 845, 628, 734, 896, 725, 756, 994 }
{ 829, 849, 675, 868, 862, 761, 986, 603, 801, 932, 956, 803, 874, 842, 889, 723, 782, 918, 909, 921, 838, 999, 841, 916, 915, 962, 878, 947, 532, 654 }
Returns: 18
{ 832, 955, 423, 298, 584, 159, 547, 488, 637, 79, 188, 689, 204, 516, 69, 70, 888, 214, 768, 835, 498, 283, 618, 656, 572, 230, 737, 675, 179, 214, 570, 877, 3, 675, 538, 591, 951, 62, 844, 331, 492, 5, 288, 182, 777, 863, 971, 448 }
{ 967, 993, 989, 858, 957, 931, 986, 869, 961, 960, 996, 947, 975, 914, 953, 900, 985, 956, 930, 916, 980, 910, 907, 983, 850 }
Returns: 16
{ 847, 209, 149, 975, 245, 548, 231, 648, 974, 730, 272, 992, 654, 480, 240, 277, 794, 348, 496, 440, 260, 687, 225, 488, 63, 21, 726, 654, 228, 721, 60, 127, 232, 832, 867, 482, 660, 729, 497, 374, 497, 719, 46, 961, 762, 84, 210, 484, 953 }
{ 626, 804, 967, 864, 955, 996, 896, 882, 894, 864, 885, 980, 829, 879, 827, 886, 669, 874, 832, 996, 823, 759, 972, 717, 911, 865, 792, 954 }
Returns: 17
{ 642, 147, 765, 615, 310, 715, 951, 235, 266, 244, 706, 119, 954, 564, 98, 803, 696, 779, 53, 375, 605, 905, 236, 908, 768, 281, 99, 300, 736, 110, 741, 860, 428, 76, 211, 986, 773, 795, 470, 171, 561, 958, 312, 174, 249, 449, 132, 599, 688, 355 }
{ 631, 780, 142, 9, 628, 482, 447, 42, 861, 798, 993, 851, 462, 280, 890, 506, 568, 696, 968, 927, 393, 985, 934, 618, 812, 94, 958, 941, 815, 502, 896, 916, 219, 284, 736, 366, 107, 476, 969, 138, 853 }
Returns: 22
{ 50 }
{ 50 }
Returns: 0
{ 20, 30, 25, 25 }
{ 30, 20, 40, 10 }
Returns: 2