Advertisement
T-D-K

Untitled

Jan 27th, 2019
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.13 KB | None | 0 0
  1.         static void Main(string[] args) {
  2.             int[] frequency1 = new int[26];
  3.             var s = reader.ReadLine();
  4.             int[] frequency2 = new int[s.Length + 1];
  5.             int diffChars = 0;
  6.             foreach (char c in s) {
  7.                 int ci = c - 'a';
  8.                 frequency2[frequency1[ci]]--;
  9.                 frequency1[ci]++;
  10.                 if (frequency1[ci] == 1) {
  11.                     diffChars++;
  12.                 }
  13.                 frequency2[frequency1[ci]]++;
  14.             }
  15.             int minF2I = int.MaxValue;
  16.             int maxF2I = int.MinValue;
  17.             foreach (int fq in frequency1) {
  18.                 if (fq == 0)
  19.                     continue;
  20.                 minF2I = Math.Min(minF2I, fq);
  21.                 maxF2I = Math.Max(maxF2I, fq);
  22.             }
  23.             if (maxF2I == minF2I || minF2I == 1 && frequency2[maxF2I] == diffChars - 1 || (maxF2I - minF2I == 1 && frequency2[maxF2I] == 1)) {
  24.                 writer.Write("YES");
  25.             }
  26.             else {
  27.                 writer.Write("NO");
  28.             }
  29.             writer.Flush();
  30.             writer.Close();
  31.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement