Write in Java. Given an array of integers A, find the Majority Element. Majority Element in an array of size N in an element that appears more than N/2 times. Write a function:          int findMajority(int[] A)  that accepts an array A. The function should return the Majority Element in the array. If no majority element then return 0.  Use following methods to solve the problem: int findCandidate(int a[])  that accepts the array and find a candidate for the majority boolean isMajority(int a[], int cand) that accept the array and the candidate element and check if the candidate occurs more than n/2 times Input:     5      1 2 1 2 2      Where,  First line represents the size of an array.  Second line represents array elements separated by single space. Output:     2 Here for the given array, 2 appears 3 times in the array of size 5. No space after the element in the output. Assume that,  N is an integer within the range [1 to 10000].  Array elements are within the range [-2147483648 to 2147483647]. - Starter Code: import java.util.*; import java.lang.*; import java.io.*; class HW2_P4 { public int findMajority(int[] array) { } int findCandidate(int a[]) { } boolean isMajority(int a[], int cand) { } } class DriverMain { public static void main(String args[]) { HW2_P4 hw = new HW2_P4(); Scanner s = new Scanner(System.in); int N = s.nextInt(); int A[] = new int[N]; for (int i = 0; i < N; i++) {      A[i] = s.nextInt(); } System.out.print(hw.findMajority(A)); } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write in Java.

Given an array of integers A, find the Majority Element.

Majority Element in an array of size N in an element that appears more than N/2 times.

Write a function: 
        int findMajority(int[] A) 

that accepts an array A. The function should return the Majority Element in the array. If no majority element then return 0. 

Use following methods to solve the problem:

  • int findCandidate(int a[]) 
    • that accepts the array and find a candidate for the majority
  • boolean isMajority(int a[], int cand)
    • that accept the array and the candidate element and check if the candidate occurs more than n/2 times

Input:
    5 
    1 2 1 2 2 

    Where, 

  • First line represents the size of an array. 
  • Second line represents array elements separated by single space.

Output:
    2

  • Here for the given array, 2 appears 3 times in the array of size 5.

  • No space after the element in the output.

    Assume that, 

    • N is an integer within the range [1 to 10000]. 
    • Array elements are within the range [-2147483648 to 2147483647].

- Starter Code:

import java.util.*;

import java.lang.*;

import java.io.*;

class HW2_P4 {

public int findMajority(int[] array) {

}

int findCandidate(int a[]) {

}

boolean isMajority(int a[], int cand) {

}

}

class DriverMain {

public static void main(String args[]) {

HW2_P4 hw = new HW2_P4();

Scanner s = new Scanner(System.in);

int N = s.nextInt();

int A[] = new int[N];

for (int i = 0; i < N; i++) {

     A[i] = s.nextInt();

}

System.out.print(hw.findMajority(A));

}

}

Expert Solution
Step 1

Code:

 

import java.util.Scanner;
class DriverMain {
public static void main(String args[]) {//main method
HW3_P4 hw3P4 = new HW3_P4();
Scanner s = new Scanner(System.in);//scanner class for user input
System.out.println("Enter the size of the array:");
int N = s.nextInt();//size of the array
int A[] = new int[N];
System.out.println("Enter array elements:");
for (int i = 0; i < N; i++) {//loop for taking array
A[i] = s.nextInt();//taking user input
}
System.out.println("Majority element in the array is:");
System.out.print(hw3P4.findMajority(A));//calling the function and printing
}
}

class HW3_P4 {//class for checking majority

public int findMajority(int[] array) {//defining the function
int n = findCandidate(array);


return n;
}

/* Function to find the candidate for Majority */
int findCandidate(int a[]) {
boolean bool;

for (int i = 0; i < a.length; i++) {
bool = isMajority(a, a[i]);
if (bool)
return a[i];
}
return 0;
}

 
boolean isMajority(int a[], int cand) {//Function to check if the candidate occurs more than n/2 times 
int count = 0;
for (int i = 0; i < a.length; i++) {
if (cand == a[i]) {
count++;
}
}
if (count > a.length / 2)
return true;
else
return false;
}

}

 

Code Screenshot:

Computer Science homework question answer, step 1, image 1

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education