3.1.7 #
解答 #
在 FrequencyCounter 中添加一个 CountDistinct 方法,计算不重复的键数。
public static int CountDistinct<TKey>(TKey[] keys, ISt<TKey, int> st)
{
    var distinct = 0;
    for (var i = 0; i < keys.Length; i++)
    {
        if (!st.Contains(keys[i]))
            st.Put(keys[i], distinct++);
    }
    return distinct;
}
结果如下:
