/**
 * Write a function that takes two lists, lst1 and lst2, and removes duplicates from lst1 that are also present in lst2.
 *
 * @param lst1 A list of elements.
 * @param lst2 Another list of elements.
 * @return A new list with elements from lst1 that are not present in lst2.
 *
 * Example:
 * removeDuplicates(listOf(1, 2, 3, 4, 5), listOf(4, 5, 6, 7, 8)) -> [1, 2, 3]
 */
fun removeDuplicates(lst1: List<Int>, lst2: List<Int>): List<Int> {

    // Convert lst2 to a set for efficient membership checking
    val uniqueElements = lst2.toSet()

    // Use filter to iterate over lst1 and filter elements not present in lst2
    return lst1.filter { it !in uniqueElements }
}
/**
 * Write a function that takes two lists, lst1 and lst2, and removes duplicates from lst1 that are also present in lst2.
 *
 * @param lst1 A list of elements.
 * @param lst2 Another list of elements.
 * @return A new list with elements from lst1 that are not present in lst2.
 *
 * Example:
 * removeDuplicates(listOf(1, 2, 3, 4, 5), listOf(4, 5, 6, 7, 8)) -> [1, 2, 3]
 */
fun removeDuplicates(lst1: List<Int>, lst2: List<Int>): List<Int> {
/**
 * Write a function that takes two lists, lst1 and lst2, and removes duplicates from lst1 that are also present in lst2.
 *
 * @param lst1 A list of elements.
 * @param lst2 Another list of elements.
 * @return A new list with elements from lst1 that are not present in lst2.
 *
 * Example:
 * removeDuplicates(listOf(1, 2, 3, 4, 5), listOf(4, 5, 6, 7, 8)) -> [1, 2, 3]
 */
fun removeDuplicates(lst1: List<Int>, lst2: List<Int>): List<Int> {

    // Convert lst2 to a set for efficient membership checking
    val uniqueElements = lst2.toSet()

    // Use filter to iterate over lst1 and filter elements not present in lst2
    return lst1.filter { it !in uniqueElements }
}