Statistics

Problem Statement for "MajorityElement"

Problem Statement

An array is said to have a majority element x if strictly more than half of its elements are equal to x (see examples for further clarification).

Given a int[] a, return its majority element, or -1 if it does not have one.

Definition

Class:
MajorityElement
Method:
findMajorityElement
Parameters:
int[]
Returns:
int
Method signature:
int findMajorityElement(int[] a)
(be sure your method is public)

Constraints

  • a will contain between 1 and 50 elements, inclusive.
  • Each element of a will be between 0 and 1000, inclusive.

Examples

  1. {3, 9, 3, 3, 7}

    Returns: 3

    Element 3 occurs 3 times, which makes it a majority element of an array with 5 elements.

  2. {0, 1000, 984, 0}

    Returns: -1

    The number of equal elements must be strictly greater than half of array size, so 0 is not a majority element.

  3. {5}

    Returns: 5

  4. {13, 13}

    Returns: 13

    All elements are equal.

  5. {249, 326, 564}

    Returns: -1

    All elements are distinct, so there is no majority element.

  6. {474,474,709,329,709,709,474,700,440,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474,474}

    Returns: 474

  7. {494,494,130,494,266,280,777,599,266,32,778,175,586,175,494,175,586,494,175,175,612,612,586,612,586,586,586,612,586,494,612,175,175,175,612,175,494,612,494,612,612,612,612,612,612}

    Returns: -1

  8. {692,692,681,692,878,140,278,878,278,692,278,692,692,692,692,692,692,692,692,692,692,692}

    Returns: 692

  9. {761,761,831,405,132,936,132,405,405,132,132,158,132,132,405,405,158,405,132,405,132,405,405,405,405,405,405,405}

    Returns: -1

  10. {648,648,956,581,581,581,581}

    Returns: 581

  11. {438,438,190,752,218,625,438,625,438,438,438,438,438}

    Returns: 438

  12. {16,16,16,156,462,16,16,20,84,16,16,156,16,84,16,16,16,16,16,16,16,16,16,16}

    Returns: 16

  13. {635,635,635,411,524,64,635,847,411,236,635,411,236,847,635,236,847,635,236,236,635,635,635,236,236,236,236}

    Returns: -1

  14. {527,527,126,527,47,566,527,67,566,527,527,947,67,947,527,566,947,927,947,947,527,566,566,947,947,947,947}

    Returns: -1

  15. {514,514,952,487,772,380,933,404,288,288,933,380,380,584,288,228,584,380,584,584,584,584,584}

    Returns: -1

  16. {810,810,58,699,527,237,654,527,527,857,397,857,397,397,527,237,857,527,237,527,237,237,237,527,237,237,237,237,237,527,237,237,237,237,237,237,237,237}

    Returns: -1

  17. {801,801,867,243,143,867,143,262,624,143,262,145,624,368,143,368,262,624,867,262,262,262}

    Returns: -1

  18. {457,457,158,457,411,206,408,408,780,958,408,958,408,958}

    Returns: -1

  19. {540,540,687,812,540,397,164,208,397,164,178,812,812,812,812,397,164,685,397,685}

    Returns: -1

  20. {30,30,206,669,235,758,235,919,919,154,235,149,30,147,265,154,646,646,235,147,235,646,147,30,30,147,147,149,149,154,154,30,154}

    Returns: -1

  21. {835,835,514,835,862,793,763,899,514,514,514,793,475,514,450,533,514,514,899,793,672,450,450,763,672,672,793,793,793,337,919,793,450,450,793,793,793,672,919,919,672,919,919}

    Returns: -1

  22. {993,993,57,994,994,994,994,994,994,994}

    Returns: 994

  23. {138,138,546,663,454,615,869,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142}

    Returns: 142

  24. {799,799,686,799,799}

    Returns: 799

  25. {26,26,534,26,466,26,466,26,672,26,466,273,26,273,26,26,26,26,26,26,26}

    Returns: 26

  26. {730,730,495,495,495,7,264,495,495,495,7,495,47,7,122,7,122,47,122,7,47,7,7}

    Returns: -1

  27. {176,176,68,25,201,728,283,711,201,201,201,889,889,201,889,201,889,889,889,889,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201,201}

    Returns: 201

  28. {422,422,458,188,603,923,917,795,422,38,762,923,923,795,195,195,795,923,923,195,762,762,917,762,762,923,195,923,917,195,917,195,923,917,923,195,195,917,917,195,195,917,917,917,917}

    Returns: -1

  29. {667,667,119,619,619,619,619,619,619,619,619}

    Returns: 619

  30. {392,392,762,762,762,762,762}

    Returns: 762

  31. {606,606,394,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64}

    Returns: 64

  32. {646,646,727,152,760,727,760,463,760,276,760,760,760,760,760,760,760,760,760,760,760,760,760,760,760}

    Returns: 760

  33. {865,865,158,474,140,552,140,140,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374,374}

    Returns: 374

  34. {212,212,619,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231,231}

    Returns: 231

  35. {11,11,727,441,11,656,11,676,11,604,362,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11}

    Returns: 11

  36. {698,698,285,610,996,986,986,986,986,986,986,986,986,986,986,986,986,986}

    Returns: 986

  37. {717,717,45,325,228,325,325,24,266,600,860,24,294,24,600,600,325,600,325,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600}

    Returns: 600

  38. {316,316,731,731,731}

    Returns: 731

  39. {712,712,707,826,414,501,761,414,323,712,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83}

    Returns: 83

  40. {615,615,14,659,659,659,659}

    Returns: 659

  41. {782,782,839,759,536,759,759,759}

    Returns: -1

  42. {605,605,416,153,963,93,593,153,153,93,93,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153}

    Returns: 153

  43. {935,935,554,935,220,935,935,789,935,935,935,935,935,935,935,935,935,935,935,935,935,935,935}

    Returns: 935

  44. {202,202,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252}

    Returns: 252

  45. {966,966,194,570,255,194,966,194,109,360,109,194,194,194,194,194,966,536,966,238,360,194,194,360,360,360,360,360,360,360,194,194,360,360,194,194,194,194,194,194,194,194,194,194}

    Returns: -1

  46. {85,85,85,85,85,85,979,85,85,85}

    Returns: 85

  47. {501,501,501,763,283,70,803,811,803,763,70,25,803,763,501,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70}

    Returns: 70

  48. {442,442,544,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390,390}

    Returns: 390

  49. {38,38,578,492,492,492,492,548,492,492,492,492,492,492}

    Returns: 492

  50. {293,293,734,293,293,293,293,293,293,293}

    Returns: 293

  51. {314,314,852,913,595,875,263,263,263,799,379,913,913,913,379,263,379,379,552,263,552,913,913,263,552,552,263,263,552,263,913,263,913,263,263,913,913,913,913}

    Returns: -1

  52. {587,587,666,743,922,900,922,922,900,71,922,147,147,71,147,922,71,147,587,587,587,587,147,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587,587}

    Returns: 587

  53. {759,759,168,65,713,65,713,484,153,805,759,759,65,759,759,759,759,759,759,759,759,759,759,759,759,759,759}

    Returns: 759

  54. {332,332,637,512,457,838,838,368,457,457,512,838,512,838,838,928,928,838,838,838,928,838,838,838,838,838,838,838,838,838,838,838,838,838}

    Returns: 838

  55. {81,81,729,81,198,968,52,81,293,921,968,968,81,523,968,81,81,81,523,81,81,81,968,968,81,81,81,968,81,81,81}

    Returns: 81

  56. {471,471,360,360}

    Returns: -1

  57. {27,27,814,142,674,665,814,459,815,931,27,992,730,27,458,459,931,931,142,814,897,931,506,931,27,506,459,506,931,506,931,459,931,931,931,459,459,506,459,506,459,931,506,931,931,931}

    Returns: -1

  58. {645,645,777,498,717,717,165}

    Returns: -1

  59. {537,537,242,537,445,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537}

    Returns: 537

  60. {742,742,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870,870}

    Returns: 870

  61. {791,791,20,876,573,453}

    Returns: -1

  62. {1000,1000,505,256,1000,536,256,1000,626,9,989,9,820,1000,9,989,9,626,989,1000,626,626,256,989,1000,989,1000,989,989,256,989,256,256,256,989,989,256,989,989}

    Returns: -1

  63. {16,16,596,24,899,596,596,596,596}

    Returns: 596

  64. {872,872,712,750,153,273,697,661,697,159,153,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697,697}

    Returns: 697

  65. {990,990,152,745,367,509,440,152,395,152,760,760,152,760,152,152,745,760,278,760,278,395,745,760,395}

    Returns: -1

  66. {5 }

    Returns: 5

  67. {13, 13 }

    Returns: 13

  68. {0, 0, 0, 1, 2 }

    Returns: 0

  69. {249, 326, 564 }

    Returns: -1

  70. {1, 2, 3 }

    Returns: -1

  71. {0, 1000, 984, 0 }

    Returns: -1

  72. {0, 0, 0, 0, 0 }

    Returns: 0

  73. {1000, 1000 }

    Returns: 1000

  74. {2, 2, 4, 4 }

    Returns: -1

  75. {1, 2 }

    Returns: -1


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: