Problem Statement
Given a
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
{3, 9, 3, 3, 7}
Returns: 3
Element 3 occurs 3 times, which makes it a majority element of an array with 5 elements.
{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.
{5}
Returns: 5
{13, 13}
Returns: 13
All elements are equal.
{249, 326, 564}
Returns: -1
All elements are distinct, so there is no majority element.
{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
{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
{692,692,681,692,878,140,278,878,278,692,278,692,692,692,692,692,692,692,692,692,692,692}
Returns: 692
{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
{648,648,956,581,581,581,581}
Returns: 581
{438,438,190,752,218,625,438,625,438,438,438,438,438}
Returns: 438
{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
{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
{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
{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
{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
{801,801,867,243,143,867,143,262,624,143,262,145,624,368,143,368,262,624,867,262,262,262}
Returns: -1
{457,457,158,457,411,206,408,408,780,958,408,958,408,958}
Returns: -1
{540,540,687,812,540,397,164,208,397,164,178,812,812,812,812,397,164,685,397,685}
Returns: -1
{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
{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
{993,993,57,994,994,994,994,994,994,994}
Returns: 994
{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
{799,799,686,799,799}
Returns: 799
{26,26,534,26,466,26,466,26,672,26,466,273,26,273,26,26,26,26,26,26,26}
Returns: 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
{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
{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
{667,667,119,619,619,619,619,619,619,619,619}
Returns: 619
{392,392,762,762,762,762,762}
Returns: 762
{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
{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
{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
{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
{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
{698,698,285,610,996,986,986,986,986,986,986,986,986,986,986,986,986,986}
Returns: 986
{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
{316,316,731,731,731}
Returns: 731
{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
{615,615,14,659,659,659,659}
Returns: 659
{782,782,839,759,536,759,759,759}
Returns: -1
{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
{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
{202,202,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,252}
Returns: 252
{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
{85,85,85,85,85,85,979,85,85,85}
Returns: 85
{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
{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
{38,38,578,492,492,492,492,548,492,492,492,492,492,492}
Returns: 492
{293,293,734,293,293,293,293,293,293,293}
Returns: 293
{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
{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
{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
{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
{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
{471,471,360,360}
Returns: -1
{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
{645,645,777,498,717,717,165}
Returns: -1
{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
{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
{791,791,20,876,573,453}
Returns: -1
{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
{16,16,596,24,899,596,596,596,596}
Returns: 596
{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
{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
{5 }
Returns: 5
{13, 13 }
Returns: 13
{0, 0, 0, 1, 2 }
Returns: 0
{249, 326, 564 }
Returns: -1
{1, 2, 3 }
Returns: -1
{0, 1000, 984, 0 }
Returns: -1
{0, 0, 0, 0, 0 }
Returns: 0
{1000, 1000 }
Returns: 1000
{2, 2, 4, 4 }
Returns: -1
{1, 2 }
Returns: -1