Dominator: Find an index of an array such that its value occurs at more than half of indices in the array.
Find an index of an array such that its value occurs at more than half of indices in the array.
Task description
A zero-indexed array A consisting of N integers is given. Thedominator of array A is the value that occurs in more than half of the elements of A.
For example, consider array A such that A[0] = 3 A[1] = 4 A[2] = 3 A[3] = 2 A[4] = 3 A[5] = -1 A[6] = 3 A[7] = 3The dominator of A is 3 because it occurs in 5 out of 8 elements of A (namely in those with indices 0, 2, 4, 6 and 7) and 5 is more than a half of 8. Write a function that, given a zero-indexed array A consisting of N integers, returns index of any element of array A in which the dominator of A occurs. The function should return −1 if array A does not have a dominator. Assume that: For example, given array A such that A[0] = 3 A[1] = 4 A[2] = 3 A[3] = 2 A[4] = 3 A[5] = -1 A[6] = 3 A[7] = 3the function may return 0, 2, 4, 6 or 7, as explained above. Complexity: Elements of input arrays can be modified. |
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int[] A) {
// write your code in Java SE 8
int len=A.length;
int ind=-1;
int count=0;
for(int i=0;i<(len/2)+1;i++){
for(int j=len/2;j<len;j++){
if(A[i]==A[j]){
count++;
}
}
if(count>(len/2)){
ind=i;
}
}
return ind;
}
}
Test score
75%75 out of 100 points
Analysis summary
The following issues have been detected: wrong answers, timeout errors.
For example, for the input [1, 2, 1] the solution returned a wrong answer (got 1, but element is not a dominator, value 2 has only 1 occurences (n=3)).
Comments
Post a Comment