Advertisement
eduardojaime

HR - Picking Numbers

Mar 16th, 2023
355
0
9 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.04 KB | None | 0 0
  1.     public static int pickingNumbers(List<int> a)
  2.     {
  3.         SortedDictionary<int, int> freqTable = new SortedDictionary<int, int>();
  4.         int maxCount = 0;
  5.  
  6.         foreach (int i in a)
  7.         {
  8.             if (freqTable.ContainsKey(i) == true)
  9.             {
  10.                 freqTable[i]++;
  11.             }
  12.             else
  13.             {
  14.                 freqTable.Add(i, 1);
  15.             }
  16.         }
  17.  
  18.         if (freqTable.Count == 1) return a.Count;
  19.        
  20.         // foreach(var elem in freqTable)
  21.         // Console.WriteLine(String.Concat(elem.Key.ToString(), " ", elem.Value.ToString()));
  22.  
  23.         for (int i = 0; i < freqTable.Keys.Count-1; i++)
  24.         {
  25.             int val = freqTable.ElementAt(i + 1).Key - freqTable.ElementAt(i).Key;
  26.             // Console.WriteLine(val);
  27.             if (val == 1){
  28.                 int tempCount = freqTable.ElementAt(i).Value + freqTable.ElementAt(i + 1).Value;
  29.                 if (tempCount > maxCount) maxCount = tempCount;
  30.             }
  31.         }
  32.  
  33.         return maxCount;
  34.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement