using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.IO; using System.Xml; using System.Text.RegularExpressions; public interface ICodeRush { int? FindLeastFrequentNumber(IList list); } public class Solution : ICodeRush { public int? FindLeastFrequentNumber(IList list) { if (list == null || list.Count == 0) return null; Dictionary NumberCountDictionary = new Dictionary(); foreach (int item in list) { if (!NumberCountDictionary.ContainsKey(item)) { NumberCountDictionary.Add(item, 1); } else { NumberCountDictionary[item]++; } } for (int i = 0; i < NumberCountDictionary.Count; i++) { if (NumberCountDictionary.ContainsValue(i)) { foreach (KeyValuePair pair in NumberCountDictionary) { if (pair.Value == i) { return pair.Key; } } } } return null; } }