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,907 questions

51,839 answers

573 users

How to remove elements of a list that are repeated less than k times in C#

1 Answer

0 votes
using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static List<int> FilterByFrequency(List<int> list, int k) {
        // Count occurrences of each number
        var counts = list
            .GroupBy(x => x)
            .ToDictionary(g => g.Key, g => g.Count());

        // Keep only elements that appear at least k times
        return list
            .Where(x => counts[x] >= k)
            .ToList();
    }

    static void Main()
    {
        var lst = new List<int>
        {
            1, 2, 2, 3, 3, 3, 4, 4, 4, 4,
            5, 5, 6, 7, 7, 7, 7, 8, 8, 8
        };

        int k = 3;

        var result = FilterByFrequency(lst, k);

        Console.WriteLine(string.Join(", ", result));
    }
}



/*
run:

3, 3, 3, 4, 4, 4, 4, 7, 7, 7, 7, 8, 8, 8

*/

 



answered 1 day ago by avibootz
...