// Efficient Solution : Time Complexity : O(n) import java.util.*; import java.io.*; class GFG { static int findMajority(int arr[], int n) { int res = 0, count = 1; for(int i = 1; i < n; i++) { if(arr[res] == arr[i]) count++; else count --; if(count == 0) { res = i; count = 1; } } count = 0; for(int i = 0; i < n; i++) if(arr[res] == arr[i]) count++; if(count <= n /2) res = -1; return res; } public static void main(String args[]) { int arr[] = {8, 8, 6, 6, 6, 4, 6}, n = 7; System.out.println(findMajority(arr, n)); // Output : 3 } } // Naive Solution : Time Complexity : O(n^2) static int findMajority(int arr[], int n) { for(int i = 0; i < n; i++) { int count = 1; for(int j = i + 1; j < n; j++) { if(arr[i] == arr[j]) count++; } if(count > n / 2) return i; } return -1; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter