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 VB.NET

1 Answer

0 votes
Imports System
Imports System.Linq
Imports System.Collections.Generic

Module ShortestRunProgram

	Function FilterByFrequency(lst As List(Of Integer), k As Integer) As List(Of Integer)
		' Count occurrences of each number
		Dim counts = lst.GroupBy(Function(x) x).
						 ToDictionary(Function(g) g.Key, Function(g) g.Count())

		' Keep only elements that appear at least k times
		Return lst.Where(Function(x) counts(x) >= k).ToList()
	End Function

    ' ------------------------------------------------------------
    ' MAIN PROGRAM
    ' ------------------------------------------------------------
    Sub Main()
		Dim lst As New List(Of Integer) From {
			1, 2, 2, 3, 3, 3, 4, 4, 4, 4,
			5, 5, 6, 7, 7, 7, 7, 8, 8, 8
		}

		Dim k As Integer = 3

		Dim result = FilterByFrequency(lst, k)

		Console.WriteLine(String.Join(", ", result))

    End Sub

End Module



' run:
'
'  3, 3, 3, 4, 4, 4, 4, 7, 7, 7, 7, 8, 8, 8
'

 



answered 1 day ago by avibootz
...