Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,845 questions

51,766 answers

573 users

How to merge two sorted arrays without duplicates in Kotlin

2 Answers

0 votes
fun mergeSortedArrays(arr1: IntArray, arr2: IntArray): IntArray {
    val mergedSet = mutableSetOf<Int>()
    var i = 0
    var j = 0

    while (i < arr1.size && j < arr2.size) {
        when {
            arr1[i] < arr2[j] -> {
                mergedSet.add(arr1[i])
                i++
            }
            arr1[i] > arr2[j] -> {
                mergedSet.add(arr2[j])
                j++
            }
            else -> {
                mergedSet.add(arr1[i])
                i++
                j++
            }
        }
    }

    while (i < arr1.size) {
        mergedSet.add(arr1[i])
        i++
    }

    while (j < arr2.size) {
        mergedSet.add(arr2[j])
        j++
    }

    return mergedSet.sorted().toIntArray()
}
     
fun main() {
	val arr1 = intArrayOf(1, 3, 5, 7, 8)
	val arr2 = intArrayOf(2, 3, 6, 8, 9, 10)

	val mergedArray = mergeSortedArrays(arr1, arr2)

	println(mergedArray.joinToString(", "))  
}

   
      
/*
run:

1, 2, 3, 5, 6, 7, 8, 9, 10
  
*/

 



answered Apr 26, 2025 by avibootz
0 votes
fun merge(arr1: List<Int>, arr2: List<Int>): List<Int> {
    // Combine the two lists and remove duplicates using a Set
    val mergedSet = (arr1 + arr2).toSet()

    // Sort the list
    return mergedSet.sorted()
}

fun main() {
    val arr1 = listOf(1, 2, 2, 3, 7, 7, 7, 8, 9)
    val arr2 = listOf(0, 0, 4, 4, 4, 5, 6, 7, 7, 8)

    val mergedArray = merge(arr1, arr2)

    println(mergedArray.joinToString(", "))
}

   
      
/*
run:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9
  
*/

 



answered Apr 26, 2025 by avibootz
...