w3resource

Scala Programming: Remove the duplicate elements of a given array and return the new length of the array


Write a Scala program to remove the duplicate elements of a given sorted array and return the new length of the array.

Sample array: [20, 20, 30, 40, 50, 50, 50, 50, 60, 60]
After removing the duplicate elements the program should return 5 as the new length of the array

Sample Solution:

Scala Code:

object Scala_Array {
  def test(nums: Array[Int]) : Int = {
    var index = 1;
        for (i <- 0 to nums.length-1) {
            if (nums(i) != nums(index))
           {
               index += 1
               nums(index) = nums(i)
              }
        }
	  index;
  }  
  
  def main(args: Array[String]): Unit = {
    val nums = Array(20, 20, 30, 40, 50, 50, 50, 50, 60, 60);  
	  println(s"Original array length: ${nums.length}");
		println("Array elements are: ");
      for (i <- 0 to nums.length - 1) 
        {
             print(s"${nums(i)} ");
        }
		println(s"\nThe new length of the array after removing the duplicate elements is: ${test(nums)}");
      }
  }

Sample Output:

Original array length: 10
Array elements are: 
20 20 30 40 50 50 50 50 60 60 
The new length of the array after removing the duplicate elements is: 5

Go to:


PREV : Write a Scala program to compute the average value of an array element except the largest and smallest values.
NEXT : Write a Scala program to find smallest and second smallest elements of a given array.

Scala Code Editor :

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.