题解_每日一题24.12.29
题目
思路
根据示例1,我们遍历votes,统计得到:
- A:下标0出现5次,下标1出现0次,下标2出现0次
- B:下标0出现0次,下标1出现2次,下标3出现3次
- C:下标0出现0次,下标1出现3次,下标2出现2次
将以上的数据添加到一个哈希表(或数组)中,得到记录如下:
1 | 'A' : [5, 0, 0] |
将A,B,C排序:
- 按照字母出现次数的列表,字典序大的排在前面
- 根据字母的ASCII值,小的排在前面
答案
1 | class Solution { |
解析
votes[0].chars()
被用来获取第一个投票字符串中的每个字符的ASCII值,并将其转换为一个IntStreammap.ToObj(c -> (char)c)
可以将一个IntStream转换成Stream<Character>,这样就可以在流中对字符进行排序操作sorted
方法是Stream
接口中的一个中间操作,它接受一个比较器(Comparator),用于定义元素之间的排序规则map
方法是Stream
接口中的一个中间操作,它接受一个函数作为参数,将流中的每个元素映射到另一个元素Collectors.joining()
是一个静态方法,它创建了一个Collector
对象,用于将字符串流中的所有字符串连接成一个单一的字符串
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Czar!
评论
ValineDisqus