Leetcode451. 根据字符出现频率排序 golang go语言
2018-09-01 15:57
681 查看
给定一个字符串,请将字符串里的字符按照出现的频率降序排列。
[code]func frequencySort(s string) string { m := make(map[string]int) for i:= 0; i< len(s);i++{ _,ok := m[string(s[i])] if ok != true{ m[string(s[i])] = strings.Count(s,string(s[i])) } } n := map[int][]string{} var a []int for k, v := range m { n[v] = append(n[v], k) } for k := range n { a = append(a, k) } sort.Sort(sort.Reverse(sort.IntSlice(a))) res := "" for _, k := range a { for _, s := range n[k] { res+=strings.Repeat(s,k) } } return res }
解题思路:map按值排序
函数:sort.Sort(sort.Reverse(Sort.IntSlice(a)))
strings.Repeat(string, int)
阅读更多相关文章推荐
- Leetcode451. 对字符出现频率进行排序
- [LeetCode] 451. Sort Characters By Frequency 根据字符出现频率排序
- LeetCode 451. Sort Characters By Frequency (根据字符出现频率排序)
- [LeetCode] Sort Characters By Frequency 根据字符出现频率排序
- 赫夫曼树(一),对字符串中的字符出现频率进行设置权,并且根据权大小进行排序
- 针对一个文件 统计其中的单词和字符数 找出文件中出现次数最多的单词数 将文件中出现的单词按频率进行排序并输出
- Leetcode 451. Sort Characters By Frequency 按频率对字符排序
- 根据数组中数字出现频率排序
- Leetcode 451. Sort Characters By Frequency 按频率对字符排序 解题报告
- 按字符出现频率对字符进行排序
- Leetcode各题目的难度以及出现频率分析
- 【代码】统计文件中,不同字符出现的次数(可排序,没有处理英文单词、数字和大小写)
- 统计字符串中出现频率最高的字符
- 根据字符出现的权重生成字符串
- 输出字符串出现频率最高的字母,用到了list中的排序和Iambda
- 查找一个字符串中出现频率最高的字符
- 查找字符串中出现频率最高的字符和次数
- SQL查询重复出现次数最多的记录,按出现频率排序(SQL语句)
- Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串
- 统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出