← Усі приклади

Перевірка на анаграму

C# Алгоритми

підрахунок символів

Блок-схема за ДСТУ

ТакНіТакНіПочатокВвід a, ba.Length != b.LengthПовернути falseКінецьcount = new int[256]i = 0, a.Length - 1, 1count[a[i]]++count[b[i]]--c = 0, 255, 1count[c] != 0Повернути falseКінецьПовернути trueКінецьРисунок 1 — Program.IsAnagram

Вихідний код

class Program {
    static bool IsAnagram(string a, string b) {
        if (a.Length != b.Length) {
            return false;
        }
        int[] count = new int[256];
        for (int i = 0; i < a.Length; i++) {
            count[a[i]]++;
            count[b[i]]--;
        }
        for (int c = 0; c < 256; c++) {
            if (count[c] != 0) {
                return false;
            }
        }
        return true;
    }
}