Statistics

Problem Statement for "SetMetric"

Problem Statement

Suppose the solution to some problem is a set of integers, several of which you do not know. You wish to evaluate the nearness of some candidate set of known integers to the solution. For example, the candidate solution might be {9, 1, 2, 3, 5, 6}, while the target is {4, 9, 2, 1}: actually six integers, but two are unknown. We define the distance between a target and a candidate to be the minimum sum of absolute differences in known values, disregarding extraneous candidate values. Here the distance would be |4-3| + |9-9| + |2-2| + |1-1| = 1: we have ignored the 5 and 6. Given a int[] target and a int[] candidate, return the distance between them.

Definition

Class:
SetMetric
Method:
nearness
Parameters:
int[], int[]
Returns:
int
Method signature:
int nearness(int[] target, int[] candidate)
(be sure your method is public)

Constraints

  • candidate will contain between 1 and 20 elements, inclusive.
  • target will contain between 1 and 20 elements, inclusive.
  • target will not contain more elements than candidate.
  • Each element of target and candidate will be between -1000 and 1000, inclusive.

Examples

  1. {4,9,2,1}

    {9,1,2,3,5,6}

    Returns: 1

    The example from the problem statement.

  2. {0}

    {1000,-1000,0}

    Returns: 0

    Only one of the numbers is relevant; the extreme cases do not affect this answer.

  3. {1000,-1000,0,5,289,-40}

    {30,821,-777,-52,91,444,-134,85}

    Returns: 679

  4. {572,555}

    {877,173,-394}

    Returns: 687

  5. {291}

    {-619,-303,860}

    Returns: 569

  6. {436,-857,757,437}

    {149,-981,-140,-476,-286}

    Returns: 2031

  7. {-909,462,176,-974,-486,867}

    {-639,102,-982,-255,-150,-383}

    Returns: 2189

  8. {911}

    {726,521,425,-806,599,985,-324,-71}

    Returns: 74

  9. {96,-53,371,-855,910,310}

    {-594,-465,-28,-193,195,370}

    Returns: 2016

  10. {-90,-700,918,391,-586}

    {-819,205,-309,254,-545,-12,-998,285}

    Returns: 1008

  11. {-675}

    {327}

    Returns: 1002

  12. {-883}

    {810,852,-147,-238}

    Returns: 645

  13. {-968,471,525,-334,-188}

    {-315,-476,-471,144,-554,-47}

    Returns: 1577

  14. {-744}

    {-601}

    Returns: 143

  15. {777,-352}

    {812,796,-115}

    Returns: 256

  16. {-31,83,420,-248,896,-38,-976}

    {436,-774,970,588,100,555,616,-685,649,-633}

    Returns: 1906

  17. {620}

    {-349,748,-651,-55,-152}

    Returns: 128

  18. {-274}

    {-758}

    Returns: 484

  19. {704,36,-646}

    {-677,372,-989,609}

    Returns: 462

  20. {878,20,214,98,226,-653,958,581,312,338}

    {962,-14,827,-281,913,-119,-712,-341,-951,789}

    Returns: 3371

  21. {-11}

    {-33,-338,-833,24}

    Returns: 22

  22. {-198}

    {-539}

    Returns: 341

  23. {895}

    {321}

    Returns: 574

  24. {-427,-942,962,441,-420,792}

    {909,17,836,39,-652,845}

    Returns: 1694

  25. {-95}

    {835}

    Returns: 930

  26. {818}

    {-937,-340,-556,677,968}

    Returns: 141

  27. {5,4,7,2,8,2,9,3,4,4}

    {1,5,6,8,2,4,6,9,0,0}

    Returns: 11

  28. {506,180,978,-135,343}

    {-182,-412,-987,819,-827,-484,460,-580,531,-564,761,570,38,351,664,773,854,-132}

    Returns: 302

  29. {-279,530,-281,408,-762,-372,382,-832,498,26,267}

    {209,-14,-678,-427,-189,-884,-335,671,-549,840,-23,157,628,-834,819,828,-576,-500}

    Returns: 1290

  30. {-471,-835,614,720,347,141,465,-501,-706,566,-113,-266,464,-338,-943,234}

    {-655,-699,-49,295,-688,115,-83,-21,88,839,842,28,513,-305,99,417,18,-837,282}

    Returns: 1987

  31. {-167,-760,-702,828,-317,183,517,-746,-948,-320,-757,15,-101,-994,139}

    {-618,356,-721,-836,128,429,469,453,688,-709,635,236,254,-342,221}

    Returns: 5053

  32. {-698,-970,-400,-745,695,992,501,354}

    {940,224,52,-975,-281,-964,881,469,786,509,850,39,725,-924,-243}

    Returns: 774

  33. {127,-723,-61,987,91,218,518,-200,-348,-850,365,3,820,-244,412,681}

    {-564,922,-208,-774,308,-553,-713,601,735,554,546,359,-626,-77,-859,490}

    Returns: 2889

  34. {787,522,-680,-964,-831,-167,-892}

    {-870,626,-951,767,629,-281,629,151,799,157,-763,-59,343,-68,-633,-805}

    Returns: 323

  35. {813,272,849,551,59,281,-101,207,-578,-328,-554,-115,-122,796,-329,-537}

    {-89,305,-583,-635,-585,-896,176,-228,718,250,-927,-272,138,675,403,-598,-868,866}

    Returns: 1755

  36. {39,-208,575,82,-267,233,-360,51,-951,436,674,593,784,-478,994,889,245,469}

    {-461,53,-113,-375,391,-495,-616,-309,-317,-854,657,-75,719,-92,-190,894,-482,-18,744}

    Returns: 4317

  37. {633,270,-492,-865,-133,-39,-131,-48,433,-314,-67,309,654}

    {-184,-112,-930,369,-604,-835,-108,-47,248,-111,-246,-205,-53,826,256,878}

    Returns: 861

  38. {-735,198,-66,-824,964,-396,303,-601,231,-613,954,-761}

    {299,419,537,171,-842,980,-794,-385,-135,537,17,-635,-999,704,759,-896,-128}

    Returns: 1127

  39. {-115,728,-557,64,727,-690,-567,229,519,-738,-459}

    {-285,-748,-345,853,-356,-716,-265,-671,4,828,-728,-724,-444,117,464}

    Returns: 925

  40. {-170,185,331,905,-733,-437,217,998,497,-618,-373,-814,227,589}

    {738,365,-490,-697,79,-604,578,-824,-993,-943,49,691,798,660,564}

    Returns: 2272

  41. {-917,492,-535,253,797,-209,168,-946,531}

    {-692,-228,945,-372,860,-983,-976,830,283,-101,-692,323,-680,-86,-10}

    Returns: 999

  42. {183,-925,566,-228,803,-911,-234,-719,616}

    {829,-180,477,-180,-812,-398,393,276,966,-501,-665,236,-705,-151,-868,-726,-206}

    Returns: 630

  43. {-310,-93,341,-648,361,-997,-329,-53}

    {96,778,47,889,-115,-770,132,-999,-829,-915,445,-163,219,928,-790}

    Returns: 980

  44. {449,772,-43,383,301,287,-490,-677,-183,-289}

    {-171,-34,498,-235,-568,709,-342,535,819,45,804,-390,-688,-732,-531,-736,-505,-728,-933}

    Returns: 983

  45. {-425,-961,-153,564,-247,-931,-839,385,964,485,942,968,-67,-924}

    {761,199,-134,506,-683,192,111,292,194,-246,-943,841,-606,437,781}

    Returns: 3122

  46. {-730,-868,-402,379,-28,-832,-551,308,-363,-986,-731,700,-144,-770,527}

    {-618,933,983,-667,30,457,963,-346,-39,-438,637,988,-367,-449,-600,515,885,498,854,-721}

    Returns: 3237

  47. {-867,-46,843,-490,-34,347,-394,328,994,-24,-194,403,-238,715,722,-500}

    {-257,889,-267,501,796,923,-516,-485,507,155,432,48,-968,352,788,-380,250,-3,959,-271}

    Returns: 872

  48. {-412,253,-989,-633,-577,-995,-298,761,-597,460,176,322,611}

    {461,-888,396,14,93,-447,-617,-710,-143,-624,549,466,764,-523,948,-433,74,-884,602,23}

    Returns: 814

  49. {336,-782,-326,-477,-702,198,-652,-391,524,335,-778,501}

    {763,-500,539,-432,-859,196,-875,217,257,-986,522,289,813,731,-869,528,986,-521,954,326}

    Returns: 1017

  50. {215,-668,-202,956,402,954,-769,-642,37,-677,69,751,949,852,848,-687,-339,-832}

    {622,-290,-914,-94,-589,-80,-254,-384,-29,-475,-635,869,264,-874,891,-463,-265,181,-264,165}

    Returns: 4304

  51. {1000, -1000, 0, 5, 289, -40 }

    {30, 821, -777, -52, 91, 444, -134, 85 }

    Returns: 679

  52. {-1000, -1000, -999, -666, -1, 0, 1, -999, -666, 666, 555, 555, -1000, -999, 999, 200, -1000 }

    {99, -10, -1000, -999, -10, -1, 0, 1, -999, -666, 666, 555, 175, -1000, -999, 999, 200, -99, 0, -10 }

    Returns: 2927

  53. {153, 158, 160, 152, 161, 166, 160, 924, -1000, 900, 915, -1000, 736 }

    {-1000, 976, -325, 160, 1000, 42, 150, 153, 416, 159, -715, 924, 163, 321, 157, 895, 911, 999 }

    Returns: 642

  54. {1, 5, 6, 8, 17, 35, 21, 49, 654, 999 }

    {1000, -1000, 53, 68, 942, 15, 24, 1, 3, 6, 5, 7, 954, 641, 233, 658, 951, 258, 147, 236 }

    Returns: 41

  55. {1000, -1000, 0, 5, 289, -40, 3, 999, -30 }

    {30, 821, -777, -52, 91, 444, -134, 85, 293, 273, -20, 0, 39, 333, 28, 993, 23, -30, -2, 221 }

    Returns: 447

  56. {10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200 }

    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 156, 17, 18, 19, 20 }

    Returns: 1750

  57. {4, 4, 2, 1 }

    {6, 1, 2, 3, 6, 6 }

    Returns: 3

  58. {1000, -1000, 3, 4, 4, 4, 4, 4, 4, 444, 55, 555, 5, 5, 5, 5, 5, 5, 5, 5 }

    {30, 821, -777, -52, 91, 444, -134, 85, 123, 3, 3, 3, 5, 5, 6, 7, 8, 89, 9, 0 }

    Returns: 1270

  59. {1000, -1000, 0, 5, 289, -40, 827, 999, -39, -2 }

    {30, 821, -777, -52, 91, 444, -134, 85, 332, 0, -20, -300, 292, 878, -392, 30, 222, 203, 921, -652 }

    Returns: 520

  60. {-999, -900, -888, -777, -666, -555, -444, -333, -222, -111, 111, 222, 333, 444 }

    {-500, -400, -300, 0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 100, 300, 400, 500, 600, 700, 800 }

    Returns: 4928

  61. {-1000 }

    {1000 }

    Returns: 2000

  62. {100, 100, 100, 100 }

    {100, 1, 1, 20 }

    Returns: 278

  63. {10, 10 }

    {10, 20 }

    Returns: 10

  64. {1000, -1000, 0, 5, 289, -40, 1, 999 }

    {30, 821, -777, -52, 91, 444, -134, 85, -1, -99, -1, -1, -2 }

    Returns: 1176

  65. {1000, -1000, 0, 5, 289, -40, 999, 1000 }

    {30, 821, -777, -52, 91, 444, -134, 85, 85, -444, 85 }

    Returns: 2192

  66. {5, 5, 5 }

    {1, 2, 3, 1000, 1000, 1000 }

    Returns: 9

  67. {1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 0, -100, -200, -300, -400, -500, -600, -700, -800, -900 }

    {20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }

    Returns: 9900

  68. {0, 100 }

    {-111, 1 }

    Returns: 210

  69. {0, 1, 2, 3, 19, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 }

    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 50, 80, 17, 10, 80 }

    Returns: 162

  70. {1, 4 }

    {8, -1, 2 }

    Returns: 4

  71. {4, 10 }

    {1, 5 }

    Returns: 8

  72. {4, 2 }

    {3, -6 }

    Returns: 9

  73. {200, 999 }

    {600, -500 }

    Returns: 1099

  74. {15, 25 }

    {9, 20, 32 }

    Returns: 11

  75. {2, 5 }

    {-2, -1, 4 }

    Returns: 4

  76. {-1000, 0, 1000 }

    {-1000, -10, 1 }

    Returns: 1009

  77. {10, 20 }

    {11, 0 }

    Returns: 19

  78. {0, 11, 21 }

    {10, 20, 100 }

    Returns: 98


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: