假设我有一个字符串,我想计算每个字母的频率,然后按频率对表格进行排序。“你好拉里”的期望输出是:
+--------+-----------+
| Letter | Occurence |
+--------+-----------+
| l | 3 |
| r | 2 |
| h | 1 |
| e | 1 |
| o | 1 |
| a | 1 |
| y | 1 |
+--------+-----------+
首先,我想我会使用以字母为键的地图轻松处理这个问题。这真的很容易。但是,地图项没有顺序,因此无法排序。
我想我可以使用结构来处理这个问题:
type Letter struct {
Value string
Score int
}
type LetterList []Letter
然而,这带来了一系列其他问题:
我需要检查 LetterList 中是否还没有该字母,因为我不能将这些字母用作键
没有直接的方法来对它们进行排序(使用 Int.sort() 左右)
使用这些结构一点也不优雅。有更好的解决方案吗?
相关分类