Facebook
From Sexy Bird, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 157
  1. static void Main(string[] args)
  2.         {
  3.  
  4.             int[] arr = { 1, 3, 4, 2, 0, 5, 7, 3, 9 };
  5.             int[] A = { 10001, 100050, 54, 80000 };
  6.             int[] B = { -7, -4, 0, -3 };
  7.             Stopwatch st1 = new Stopwatch();
  8.             Stopwatch st2 = new Stopwatch();
  9.             Stopwatch st3 = new Stopwatch();
  10.             Stopwatch st4 = new Stopwatch();
  11.             st1.Start();
  12.             Console.WriteLine(Fun(arr));
  13.             st1.Stop();
  14.             Console.WriteLine(st1.ElapsedTicks);
  15.             Console.WriteLine(Fun(A));
  16.             Console.WriteLine(Fun(B));
  17.             st2.Start();
  18.             Console.WriteLine(Solution(arr));
  19.             st2.Stop();
  20.             Console.WriteLine(st2.ElapsedTicks);
  21.             Console.WriteLine(Solution(A));
  22.             Console.WriteLine(Solution(B));
  23.             st3.Start();
  24.             Console.WriteLine(Sol2(arr));
  25.             st3.Stop();
  26.             Console.WriteLine(st3.ElapsedTicks);
  27.             Console.WriteLine(Sol2(A));
  28.             Console.WriteLine(Sol2(B));
  29.             st4.Start();
  30.             Console.WriteLine(Sol3(arr));
  31.             st4.Stop();
  32.             Console.WriteLine(st4.ElapsedTicks);
  33.             Console.WriteLine(Sol3(A));
  34.             Console.WriteLine(Sol3(B));
  35.  
  36.  
  37.         }
  38.  
  39.         static int Solution(int[] arr)
  40.         {
  41.             Array.Sort(arr);
  42.             int[] S = arr.Where(x => !arr.Contains(x + 1) && x >= 0).ToArray();
  43.             if (!arr.Contains(1)) return 1;
  44.             return S.Min();
  45.         }
  46.  
  47.         static int Fun(int[] arr)
  48.         {
  49.             while (arr.Max() < 1 || arr.Min() > 1) return 1;
  50.             Array.Sort(arr);
  51.             return arr.First(x => x >= 0 && !arr.Contains(x + 1)) + 1;
  52.  
  53.  
  54.         }
  55.  
  56.         static int Sol2(int[] arr)
  57.         {
  58.             int minimum = Int32.MaxValue;
  59.  
  60.             if (!arr.Contains(1)) return 1;
  61.             List<int> positives = new List<int>();
  62.             foreach (int item in arr)
  63.             {
  64.                 if (item > 0) positives.Add(item);
  65.             }
  66.             foreach (int item in positives)
  67.             {
  68.                 if (!positives.Contains(item + 1) && item < minimum) minimum = item;
  69.             }
  70.             return minimum + 1;
  71.         }
  72.         static int Sol3(int[] A)
  73.         {
  74.             int minimum = Int32.MaxValue;
  75.  
  76.             if (!A.Contains(1)) return 1;
  77.             foreach(int item in A)
  78.             {
  79.                 if (item > 0 && !A.Contains(item + 1) && (item + 1) < minimum) minimum = item + 1;
  80.             }
  81.             return minimum;
  82.         }
  83.     }
  84. }