Write a static method called removeMatches that removes extra copies of a value that are adjacent to it in an ArrayList of Integer objects. For example, if a variable called list contains the following: [1, 3, 3, 3, 3, 15, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1] and we make the following call: removeMatches (list); Then list should store the following values after the call: [1, 3, 15, 2, 1, 19, 3, 42, 7, 42, 1]

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
How do you do this? JAVA
Next
Description
Write a static method called removeMatches that removes
extra copies of a value that are adjacent to it in an ArrayList
of Integer objects. For example, if a variable called list
contains the following:
[1, 3, 3, 3, 3, 15, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1]
and we make the following call:
remove Matches (list);
Then list should store the following values after the call:
[1, 3, 15, 2, 1, 19, 3, 42, 7, 42, 1]
Notice that the four bccurrences of 3 that appear next to each
other have been replaced with a single occurrence of 3, the
two occurrences of 2 that appear next to each other have been
replaced with a single 2, and the three occurrences of 42 that
appear next to each other have been replaced with a single 42.
Notice, however, that the list still contains three occurrences of
1, two occurrences of 3, and two occurrences of 42. That is
because those duplicate values do not appear right next to
each other in the list.
You may not construct any extra data structures to solve this
problem. You must solve it by manipulating the ArrayList
you are passed as a parameter.
Transcribed Image Text:Next Description Write a static method called removeMatches that removes extra copies of a value that are adjacent to it in an ArrayList of Integer objects. For example, if a variable called list contains the following: [1, 3, 3, 3, 3, 15, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1] and we make the following call: remove Matches (list); Then list should store the following values after the call: [1, 3, 15, 2, 1, 19, 3, 42, 7, 42, 1] Notice that the four bccurrences of 3 that appear next to each other have been replaced with a single occurrence of 3, the two occurrences of 2 that appear next to each other have been replaced with a single 2, and the three occurrences of 42 that appear next to each other have been replaced with a single 42. Notice, however, that the list still contains three occurrences of 1, two occurrences of 3, and two occurrences of 42. That is because those duplicate values do not appear right next to each other in the list. You may not construct any extra data structures to solve this problem. You must solve it by manipulating the ArrayList you are passed as a parameter.
+
RemoveMatches.java
1 import java.util.*;
2
3 public class RemoveMatches {
4
5
6
public static void main(String[] args) {
Integer [] test1 = {1, 3, 3, 3, 3, 15, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1};
ArrayList<Integer> list = new ArrayList<Integer> (Arrays.asList (test1));
System.out.println("Before:
" + list);
removeMatches (list);
System.out.println("After : " + list);
Transcribed Image Text:+ RemoveMatches.java 1 import java.util.*; 2 3 public class RemoveMatches { 4 5 6 public static void main(String[] args) { Integer [] test1 = {1, 3, 3, 3, 3, 15, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1}; ArrayList<Integer> list = new ArrayList<Integer> (Arrays.asList (test1)); System.out.println("Before: " + list); removeMatches (list); System.out.println("After : " + list);
Expert Solution
Step 1

Program Code:

// Java Program to Remove Duplicate Elements
// From the Array using extra space

public class Main {

 public static int removeMatches(int a[], int n)
 {
  if (n == 0 || n == 1) {
   return n;
  }

  // creating another array for only storing
  // the unique elements
  int[] temp = new int[n];
  int j = 0;

  for (int i = 0; i < n - 1; i++) {
   if (a[i] != a[i + 1]) {
    temp[j++] = a[i];
   }
  }

  temp[j++] = a[n - 1];

  // Changing the original array
  for (int i = 0; i < j; i++) {
   a[i] = temp[i];
  }

  return j;
 }
 public static void main(String[] args)
 {
  int a[] = { 1, 3, 3, 3, 3, 15, 2, 2, 1, 19, 3, 42, 42, 42, 7, 42, 1 };
  int n = a.length;

  n = removeMatches(a, n);

  // Printing The array elements
  for (int i = 0; i < n; i++)
   System.out.print(a[i] + " ");
 }
}

 

Output:

1 3 15 2 1 19 3 42 7 42 1 

 

trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 1 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.
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