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

Prodentim Probiotics Specially Designed For The Health Of Your Teeth And Gums

Instant Grammar Checker - Correct all grammar errors and enhance your writing

Teach Your Child To Read

Powerful WordPress hosting for WordPress professionals

Disclosure: My content contains affiliate links.

31,038 questions

40,791 answers

573 users

How to get array elements that appear more than once in C#

1 Answer

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

class Program
{
    static Dictionary<int, int> getMoreThanOnce(int []arr) { 
        Dictionary<int, int> map = new Dictionary<int, int>(); 
        int len = arr.Length; 
        
        for (int i = 0 ; i < len; i++) { 
            if(map.ContainsKey(arr[i])) { 
                var count = map[arr[i]]; 
                map.Remove(arr[i]); 
                map.Add(arr[i], count + 1);  
            } 
            else { 
                map.Add(arr[i], 1); 
            } 
        } 
        return map;
    } 
    static void Main() {
        int []arr = {1, 6, 3, 1, 8, 9, 9, 1, 3, 4}; 
        
        Dictionary<int, int> map = new Dictionary<int, int>(); 
        
        map = getMoreThanOnce(arr); 
        
        foreach (KeyValuePair<int, int> e in map) { 
            if (e.Value > 1) { 
                Console.Write(e.Key + " "); 
            } 
        }
    }
}



/*
run:

1 3 9 

*/

 





answered Jul 19, 2020 by avibootz

Related questions

1 answer 64 views
1 answer 72 views
1 answer 71 views
1 answer 76 views
...