Comparator
小马哥MAX
刷题记录BLOG
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【一次过】【Comparator】Lintcode 471. 最高频的K个单词
给一个单词列表,求出这个列表中出现频次最高的K个单词。 样例 给出单词列表: [ "yes", "lint", "code", "yes", "code", "baby", "you", "baby", "chrome", "safari", "lint", "code", "body", "lint", "code" ] 如果 k =3, 返...原创 2018-07-19 10:20:06 · 709 阅读 · 1 评论 -
【一次过】846. 多关键字排序
给定n个学生(1到n编号)以及他们的考试成绩,这里有两个关键字,考试成绩以及学生学号。根据第一关键字对数组进行排序(降序),如果第一关键字相同则根据第二关键字进行排序(升序). 样例 给出[[2,50],[1,50],[3,100]], 返回[[3,100],[1,50],[2,50]] 解题思路: 注意写Comparator接口时,返回-1的条件即为期望排序结果,如本题中...原创 2018-12-24 11:30:26 · 629 阅读 · 0 评论 -
【两次过】【Comparator】Lintcode 830. 字符串排序
给出一个字符串,以 字符在串中出现的次数 为第一关键字,字典序为第二关键字排序字符串。 样例 样例1 输入: str = "bloomberg" 输出: "bbooeglmr" 解释: 'b'和'o'出现次数最多,但是'b'字典序较小,排名第一,其次是'o',以此类推. 样例2 输入: str = "lintcode" 输出: "cdeilnot" 解释: 所有字符出现次数一样多,...原创 2019-02-16 11:31:11 · 390 阅读 · 0 评论 -
【两次过】Lintcode 184. 最大数
给出一组非负整数,重新排列他们的顺序把他们组成一个最大的整数。 样例 给出[1, 20, 23, 4, 8],返回组合最大的整数应为8423201。 挑战 在 O(nlogn) 的时间复杂度内完成。 注意事项 最后的结果可能很大,所以我们返回一个字符串来代替这个整数。 解题思路: 主要问题在于排序方式,这里需要采用逐位倒序,按照ASCII 码逐位比较, 比如'3' 比'2'大。 ...原创 2019-01-19 10:38:28 · 231 阅读 · 0 评论 -
【一次过】【Comparator】Lintcode 920. 会议室
给定一系列的会议时间间隔,包括起始和结束时间[[s1,e1],[s2,e2],...(si <ei),确定一个人是否可以参加所有会议。 样例 给定区间= [[0,30],[5,10],[15,20],返回假。 解题思路: 先排序,后比较每个区间有无交叉重叠区域即可。 注意写Comparator接口时,返回-1的条件即为期望排序结果,如本题中返回-1的条件即是升序 /** * ...原创 2018-11-19 22:28:15 · 392 阅读 · 0 评论 -
【两次过】【Comparator】Lintcode 613. 优秀成绩
每个学生有两个属性id和scores。找到每个学生最高的5个分数的平均值。 样例 例1: 输入: [[1,91],[1,92],[2,93],[2,99],[2,98],[2,97],[1,60],[1,58],[2,100],[1,61]] 输出: 1: 72.40 2: 97.40 例2: 输入: [[1,90],[1,90],[1,90],[1,90],[1,90]...原创 2019-04-30 10:52:40 · 239 阅读 · 0 评论 -
【两次过】【Comparator】把数组排成最小的数
题目描述 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 解题思路: 先将整型数组转换成String数组,然后将String数组排序,最后将排好序的字符串数组拼接出来。 关键就是制定排序规则。排序规则如下: 若ab > ba 则 a > b, 若a...原创 2019-05-04 09:11:31 · 185 阅读 · 0 评论
分享