Problem Statement
Definition
- Class:
- ProblemSetter
- Method:
- chooseProblems
- Parameters:
- int[]
- Returns:
- int[]
- Method signature:
- int[] chooseProblems(int[] difficulties)
- (be sure your method is public)
Constraints
- difficulties will contain between 3 and 50 elements, inclusive.
- Each element of difficulties will be between 1 and 1000, inclusive.
Examples
{ 1, 2, 3, 4, 5 }
Returns: {1, 3, 5 }
If we choose the problem with difficulty 1 as the easy, difficulty 3 as the medium, and difficulty 5 as the hard, then the difference between the easy and medium is exactly the same as the difference between the medium and hard. We can achieve the same effect by choosing difficulties 2, 3 and 4, but we prefer the selection with the easier easy problem.
{ 1, 2, 3, 4 }
Returns: {1, 2, 3 }
{ 10, 3, 4, 7, 8, 9, 3, 7, 7, 9 }
Returns: {4, 7, 10 }
Note that the input will not necessarily be given in sorted order.
{ 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: {1, 1, 1 }
{ 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, 1000, 1000 }
{386,576,704,877,616,413,666,68,940,938,817,200,400,841,486,389,494,1000,618,504,659,129,731,943,618,481,252,98,572,5,66,957,932,121,185,547,533,203,615,472,492,783,23,892,623,861,632,469,860,249}
Returns: {5, 481, 957 }
{972,870,729,702,813,346,535,416,795,458,772,212,766,703,333,951,250,865,153,216,689,996,350,63,887,324,923,870,792,134,118,115,4,199,169,168,896,703,935,691,160,707,902,925,409,586,227,10,803,731}
Returns: {115, 409, 703 }
{225,843,727,926,905,965,250,828,835,393,313,304,508,668,502,28,835,750,730,122,440,241,828,693,517,236,631,744,246,433,474,822,275,552,100,531,517,349,710,351,93,23,6,600,690,508,979,877,609,708}
Returns: {23, 433, 843 }
{998,400,300,177,444,817,412,74,560,9,858,385,183,132,937,282,15,805,982,724,155,74,746,512,26,788,371,4,16,979,64,365,378,363,541,822,179,304,895,90,313,753,475,495,236,763,128,250,567,109}
Returns: {4, 282, 560 }
{326,73,182,423,584,207,562,955,211,577,933,274,293,663,988,833,484,167,137,730,608,801,834,434,295,70,196,774,671,114,882,348,186,63,771,122,622,332,428,832,261,712,457,553,374,444,738,857,962,874}
Returns: {63, 137, 211 }
{939,570,674,772,3,320,193,551,445,216,664,326,563,202,388,685,675,9,369,102,192,629,813,1000,533,187,796,270,395,757,495,333,678,520,457,33,191,649,935,635,864,950,960,779,151,700,463,177,60,831}
Returns: {3, 326, 649 }
{278,604,811,91,603,344,629,398,613,375,507,460,60,536,979,516,568,170,164,502,804,380,452,764,510,954,815,972,131,874,155,760,477,965,202,432,660,830,181,625,557,687,84,616,575,62,131,142,231,646}
Returns: {60, 516, 972 }
{996,387,377,799,502,886,104,316,858,586,541,364,346,370,328,547,801,340,377,981,964,285,20,47,900,594,108,30,87,691,27,434,429,404,232,930,289,688,597,498,273,137,861,618,858,541,165,658,880,893}
Returns: {30, 232, 434 }
{991,843,177,362,241,76,307,348,457,393,390,483,827,818,238,410,99,879,97,47,376,370,536,589,987,393,129,503,51,360,395,393,202,571,754,442,998,60,141,454,804,883,289,982,52,878,392,503,756,840}
Returns: {47, 177, 307 }
{549,132,561,84,720,548,477,200,402,879,559,797,271,112,719,376,905,717,435,397,522,238,279,162,572,683,40,963,185,795,154,733,278,715,817,349,614,645,900,15,523,810,811,793,921,882,168,177,598,954}
Returns: {15, 349, 683 }
{574,471,543,204,633,114,886,24,428,422,170,582,155,800,296,323,148,261,967,400,275,841,209,438,633,482,319,152,658,268,457,583,738,999,139,722,465,24,97,892,798,267,825,952,66,472,626,565,732,592}
Returns: {24, 114, 204 }
{964,7,432,525,796,416,6,114,919,15,733,375,598,822,725,736,544,189,111,992,433,908,610,609,211,675,81,836,592,812,779,907,170,562,431,317,329,436,782,247,451,514,973,400,336,50,487,231,238,949}
Returns: {6, 211, 416 }
{222,22,209,832,631,419,858,63,607,801,226,385,708,396,299,138,64,627,926,846,226,728,359,550,127,694,599,965,276,189,913,850,210,121,681,192,892,890,254,498,43,480,234,750,227,532,239,290,511,516}
Returns: {22, 209, 396 }
{135,88,243,846,637,721,891,236,685,167,424,950,16,985,70,48,177,313,289,430,810,331,261,396,80,487,279,671,129,789,186,615,228,781,460,865,853,351,100,538,517,875,839,884,859,260,931,387,573,219}
Returns: {16, 48, 80 }
{169,382,550,429,777,981,268,408,651,396,196,189,10,424,969,470,640,821,172,91,710,40,965,900,923,175,160,205,562,732,775,730,113,676,158,242,657,777,649,659,172,196,199,182,971,519,3,610,692,174}
Returns: {10, 196, 382 }
{700,401,565,16,301,487,191,812,43,752,543,817,833,7,493,342,248,501,119,248,511,290,796,710,823,766,228,177,728,919,350,779,672,914,795,324,752,985,135,146,88,677,963,920,35,807,613,283,659,731}
Returns: {7, 401, 795 }
{882,169,373,677,230,195,795,458,372,874,728,73,652,751,339,446,426,442,782,560,588,221,588,550,492,623,708,105,257,366,835,490,886,207,519,116,754,313,925,125,538,4,549,189,107,887,987,532,329,120}
Returns: {4, 366, 728 }
{444,916,341,31,817,832,5,524,936,613,241,123,103,478,681,973,945,434,637,221,910,174,225,459,362,683,697,700,214,377,820,657,644,160,40,460,343,396,335,279,9,927,753,463,405,433,435,701,867,423}
Returns: {5, 343, 681 }
{922,128,596,498,938,309,180,635,9,393,363,828,402,7,339,441,818,681,188,153,311,196,431,63,10,187,496,796,888,714,218,809,841,813,658,131,474,837,765,482,581,479,661,334,485,351,126,303,31,314}
Returns: {7, 334, 661 }
{807,694,861,237,756,223,776,603,18,663,316,588,823,509,400,480,639,225,668,755,706,600,585,718,286,70,420,411,724,451,76,882,496,937,470,251,159,245,206,528,259,873,115,81,381,867,912,371,91,931}
Returns: {18, 371, 724 }
{477,149,883,62,218,168,483,638,578,206,440,6,439,935,942,908,537,452,505,742,979,763,967,446,844,699,664,107,70,754,38,546,254,920,959,472,87,441,461,16,998,900,21,436,834,314,344,722,117,200}
Returns: {6, 87, 168 }
{816,448,962,782,893,805,480,556,912,901,661,301,799,915,220,757,738,658,198,198,25,195,97,398,983,282,711,678,355,180,877,170,627,838,303,871,995,135,426,258,35,438,558,833,704,129,942,441,786,491}
Returns: {25, 448, 871 }
{990,162,37,438,559,19,719,622,696,426,801,924,947,779,762,250,649,756,384,74,13,770,863,922,955,567,50,896,7,187,738,997,348,774,434,259,145,505,880,840,282,32,116,228,810,877,829,458,984,212}
Returns: {7, 13, 19 }
{883,348,334,745,269,288,311,670,535,670,856,272,18,555,45,803,813,189,659,44,381,940,75,496,520,884,724,348,693,59,912,575,406,245,672,26,884,334,695,418,355,902,689,724,456,85,527,621,626,537}
Returns: {18, 269, 520 }
{664,6,829,91,853,348,326,576,47,19,634,958,945,391,554,968,416,437,302,462,206,656,363,894,732,170,331,258,142,956,146,158,961,974,248,165,673,573,92,720,943,77,29,888,467,583,855,234,371,508}
Returns: {6, 363, 720 }
{47,577,516,761,822,247,282,152,856,424,107,1,581,419,327,180,935,999,752,26,70,47,102,99,934,920,33,140,505,403,1000,551,979,867,311,153,113,593,304,320,368,763,320,948,533,998,127,468,997,230}
Returns: {1, 468, 935 }
{493,66,276,947,516,561,218,548,53,723,951,52,625,281,918,936,433,382,880,89,701,247,203,372,546,735,370,24,554,718,253,399,135,881,345,651,441,914,198,845,636,148,248,613,781,517,548,565,898,779}
Returns: {24, 203, 382 }
{5,950,377,207,674,922,294,43,945,847,760,549,245,246,429,941,896,222,855,94,66,842,593,314,454,725,830,353,290,80,131,294,381,859,853,54,780,498,96,76,344,207,625,941,453,53,233,700,274,439}
Returns: {5, 429, 853 }
{793,692,633,738,5,86,462,186,791,751,617,273,397,998,132,601,51,911,98,499,339,793,57,963,733,861,367,318,561,993,756,705,684,388,442,40,826,904,225,616,6,194,888,402,191,371,2,593,282,99}
Returns: {2, 98, 194 }
{91,620,892,500,934,976,360,300,293,272,292,401,977,975,788,770,366,613,673,943,580,679,136,820,432,326,190,434,270,823,884,361,794,775,212,727,103,923,27,395,195,670,147,523,997,935,644,362,899,317}
Returns: {27, 401, 775 }
{304,831,347,439,650,778,116,839,563,386,662,447,98,455,573,309,534,675,231,912,422,777,581,568,651,577,854,295,291,753,963,594,583,309,33,232,438,500,422,1,885,435,447,982,242,371,642,775,46,225}
Returns: {1, 291, 581 }
{38,819,1,618,386,4,547,240,650,837,344,612,782,926,272,166,509,709,666,282,61,902,717,859,236,310,230,877,84,627,453,473,445,454,90,830,809,988,421,458,176,764,421,310,41,692,475,901,752,492}
Returns: {4, 453, 902 }
{183,813,394,251,671,629,560,252,857,995,878,310,467,322,115,908,504,923,896,924,732,423,40,152,732,80,195,559,981,946,50,163,758,443,765,781,423,324,32,280,318,262,941,784,935,55,691,438,329,938}
Returns: {80, 195, 310 }
{714,412,713,753,915,444,832,109,2,812,54,52,326,164,846,90,296,269,765,679,900,82,940,192,217,875,598,260,664,926,549,377,689,261,129,603,57,313,711,58,124,116,461,802,279,659,243,926,279,8}
Returns: {2, 164, 326 }
{605,530,441,896,721,10,122,318,269,786,595,169,514,283,430,643,885,486,955,595,895,430,62,708,583,341,366,178,618,644,185,222,173,977,470,893,338,591,210,606,728,156,127,242,438,556,236,322,41,542}
Returns: {10, 283, 556 }
{268,287,323,329,994,258,21,359,435,639,354,971,212,526,947,33,770,285,624,331,242,703,486,368,296,923,275,883,596,667,424,215,954,99,544,947,356,916,658,790,906,11,760,118,889,58,150,658,694,125}
Returns: {21, 118, 215 }
{341,936,180,826,655,475,101,930,358,696,596,133,911,901,583,806,848,938,721,857,79,627,867,838,96,755,248,597,765,941,722,105,876,901,282,883,727,734,812,436,430,759,569,692,660,151,849,859,441,921}
Returns: {101, 475, 849 }
{715,519,899,933,709,994,40,956,591,156,896,664,260,124,916,893,6,642,627,169,78,408,927,998,451,938,500,299,148,940,571,862,811,470,147,519,463,186,474,405,341,369,420,952,492,335,196,849,329,822}
Returns: {6, 500, 994 }
{17,406,581,296,755,31,585,254,681,733,546,252,946,356,721,92,874,535,629,347,940,321,67,359,272,911,46,468,759,374,641,776,131,222,423,885,252,7,490,933,91,35,184,37,390,256,480,615,790,109}
Returns: {7, 296, 585 }
{961,729,781,380,440,53,290,837,872,48,562,864,175,692,437,597,928,41,956,417,973,46,804,508,434,545,763,914,160,904,374,472,985,154,851,776,558,140,612,781,540,173,645,714,216,81,663,143,121,618}
Returns: {41, 81, 121 }
{911,445,15,714,304,449,259,418,362,770,322,87,241,306,240,92,433,150,231,44,930,122,216,926,836,783,359,498,925,831,467,835,628,481,901,931,929,511,701,642,280,374,728,520,31,968,963,463,117,546}
Returns: {15, 463, 911 }
{506,398,667,73,324,502,855,682,351,131,864,817,317,491,650,217,422,930,79,474,572,358,847,651,230,229,618,192,691,86,89,548,836,756,972,159,609,178,192,960,308,55,128,624,546,777,193,319,59,271}
Returns: {86, 317, 548 }
{144,630,981,342,280,562,570,250,105,260,687,194,159,522,949,130,32,557,307,575,516,966,982,996,941,879,124,133,197,182,756,692,163,88,33,795,649,602,396,753,213,82,946,371,956,246,852,339,803,510}
Returns: {32, 88, 144 }
{266,670,475,247,17,415,125,141,900,673,674,7,364,837,94,396,983,94,997,378,198,561,811,496,931,766,741,134,457,895,643,722,917,117,968,933,883,92,425,782,116,99,140,479,287,233,874,269,326,222}
Returns: {17, 475, 933 }
{998,876,134,808,371,64,926,111,197,382,358,191,455,274,307,422,206,541,865,631,323,980,81,462,810,719,47,35,339,724,608,336,599,741,495,969,156,420,432,352,153,789,542,607,62,200,380,619,740,244}
Returns: {47, 339, 631 }
{601,414,575,33,228,384,751,274,770,89,349,377,776,300,117,271,268,272,42,51,975,195,191,868,801,604,419,181,223,511,776,175,924,703,208,503,438,958,128,208,399,477,936,174,776,53,796,395,676,838}
Returns: {33, 272, 511 }
{446,3,32,988,222,184,592,993,716,166,503,492,340,778,194,547,281,631,857,408,838,607,236,774,780,11,178,928,758,205,765,555,559,148,542,781,331,133,773,47,298,627,890,990,404,83,888,684,65,96}
Returns: {3, 281, 559 }
{92,903,702,679,28,834,690,557,761,447,761,525,1,672,24,542,452,354,27,576,752,676,202,641,17,605,75,905,641,140,1000,84,394,702,762,421,535,451,329,647,249,441,171,601,112,546,495,563,251,521}
Returns: {1, 452, 903 }
{490,3,548,43,995,565,648,70,821,640,209,820,723,602,873,484,374,759,287,702,405,887,142,927,488,254,472,982,168,723,854,10,77,753,52,71,669,51,140,489,690,700,661,412,653,885,248,378,644,534}
Returns: {3, 412, 821 }
{79,400,420,573,327,259,178,150,240,697,872,445,706,948,198,758,371,866,160,510,707,850,562,367,261,214,603,508,944,246,393,22,646,165,946,324,423,123,473,15,172,697,811,877,644,360,986,14,578,146}
Returns: {14, 360, 706 }
{ 210, 104, 10, 4, 1 }
Returns: {1, 104, 210 }
Two solutions {1, 4, 10} and {1, 104, 210} have the same |D1 - D2| and the same easy. {1, 104, 210} is preferred because it has a more difficult hard.
{1, 6, 5, 10}
Returns: {1, 5, 10 }
Two solutions {1, 5, 10} and {1, 6, 10} have the same |D1 - D2| and the same easy and hard. {1, 5, 10} is preferred because it has an easier medium.
{2, 3, 3, 5, 5, 5}
Returns: {5, 5, 5 }
Note that the easy can be of the same difficulty as the medium, and the medium can be of the same difficulty as the hard.
{ 77, 331, 39, 551, 408, 904, 959, 544, 107, 515 }
Returns: {107, 331, 551 }
{1,1000,1}
Returns: {1, 1, 1000 }
{371,566,369,34,202,82,445,364,547}
Returns: {34, 202, 371 }
{18,26,16,8,32,2}
Returns: {2, 16, 32 }
{32,74,71}
Returns: {32, 71, 74 }
{130,522,249,465,490,98,405,315,279,110,94,495,169,326,253,60,240,60,99,62,251,268,106,485,101,225,218,455,437,375,528,455,404,480,241,103,558,451,279,444,538,108,176}
Returns: {62, 253, 444 }
{12,150,45,35,161,9}
Returns: {12, 35, 45 }
{759,616,321,207,357,618,362}
Returns: {321, 357, 362 }
{15,15,64,46,9,48,4,58,10}
Returns: {4, 9, 15 }
{332,140,136,195}
Returns: {136, 140, 195 }
{222,268,120,2,55,235,47,220,44}
Returns: {2, 120, 235 }
{371,370,317,192,42,29}
Returns: {29, 192, 370 }
{164,212,363,3,369,134,477}
Returns: {134, 164, 212 }
{210, 104, 10, 4, 1 }
Returns: {1, 104, 210 }
{3, 5, 7, 9 }
Returns: {3, 5, 7 }
{3, 5, 7, 8, 9 }
Returns: {3, 5, 7 }