“Eliminar ocurrencias de un elemento si ocurre más de n veces” Código de respuesta

Eliminar ocurrencias de un elemento si ocurre más de n veces python

def delete_nth(order, max_e):
    # Get a new list that we will return
    result = []

    # Get a dictionary to count the occurences
    occurrences = {}

    # Loop through all provided numbers
    for n in order:

        # Get the count of the current number, or assign it to 0
        count = occurrences.setdefault(n, 0)

        # If we reached the max occurence for that number, skip it
        if count >= max_e:
            continue

        # Add the current number to the list
        result.append(n)

        # Increase the 
        occurrences[n] += 1

    # We are done, return the list
    return result

assert delete_nth([20,37,20,21], 1) == [20, 37, 21]
assert delete_nth([1, 1, 1, 1], 2) == [1, 1]
assert delete_nth([1, 1, 3, 3, 7, 2, 2, 2, 2], 3) == [1, 1, 3, 3, 7, 2, 2, 2]
assert delete_nth([1, 1, 2, 2], 1) == [1, 2]
Gifted Goat

Eliminar ocurrencias de un elemento si ocurre más de n veces

/*
Given a list and a number, create a new list that contains each number of list at 
	most N times, without reordering.
For example if the input number is 2, and the input list is [1,2,3,1,2,1,2,3], 
	you take [1,2,3,1,2], drop the next [1,2] since this would lead to 1 and 2 
    being in the result 3 times, and then take 3, which leads to [1,2,3,1,2,3].
With list [20,37,20,21] and number 1, the result would be [20,37,21].
*/

const deleteNth = (arr,n) => {
  let numCount = {}, occElem = []
  
  arr.forEach(num => {
    if(numCount[num] === undefined) numCount[num] = 0
    if(numCount[num] === n) return null
    else{
      occElem.push(num)
      numCount[num] += 1
     }
  })
  return occElem
}

// With love @kouqhar
kouqhar

Respuestas similares a “Eliminar ocurrencias de un elemento si ocurre más de n veces”

Preguntas similares a “Eliminar ocurrencias de un elemento si ocurre más de n veces”

Más respuestas relacionadas con “Eliminar ocurrencias de un elemento si ocurre más de n veces” en JavaScript

Explore las respuestas de código populares por idioma

Explorar otros lenguajes de código