How to to check if all the characters of a string are with same frequencies in C#

1 Answer

0 votes
using System;

class Program
{
    static bool same_frequencies(string s) { 
        int[] letters = new int[256];
        int len = s.Length;
            
        for (int i = 0; i < len; i++) {
             if (Char.IsLetter(s[i]))
                 letters[(int)s[i]]++;
        }

        int frequencies = 0; 
        for (int i = 0; i < 256; i++) { 
            if (letters[i] != 0) {
                frequencies = letters[i];
                break;
            }
        }
      
        for (int i = 0; i < 256; i++) { 
            if (letters[i] != 0 && (letters[i] != frequencies)) {
                return false;
            }
        } 
        return true;
    } 
    static void Main() {
        string s = "aaabbbcccwww"; 
           
        if (same_frequencies(s))
            Console.Write("yes");
        else
            Console.Write("no");
    }
}




/*
run:

yes

*/

 



answered Jan 2, 2020 by avibootz
...