Loading

摘要: 第1题 带时限的作业排序问题 问题描述: 设有一个单机系统、无其它资源限制且每个作业运行相等时间,不妨假定每个作业运行 1 个单位时间。现有 n 个作业,每个作业都有一个截止期限di>0,di 为整数。如果作业能够在截止期限之内完成,可获得 pi>0 的收益。问题要求得到一种作业调度方案,该方案给出 阅读全文
posted @ 2020-11-04 23:55 拾月凄辰 阅读(1648) 评论(0) 推荐(0) 编辑
摘要: 题目描述 问题描述: 在 n 个数当中找第k小元素。 输入: 第一行输入n的值,第二行输入n个数,第三行输入k的值。 输出: n 个数中的第k小元素。 要求: 你的算法最坏情况下应该在线性时间内完成。 示例1 : 输入: 5 8 1 3 6 9 3 输出: 6 示例 2: 输入: 10 72 6 5 阅读全文
posted @ 2020-11-04 23:26 拾月凄辰 阅读(1495) 评论(0) 推荐(0) 编辑
摘要: 思路 方法一:排序 对原数组从小到大排序后取出前 k 个数即可。 时间复杂度:O(nlogn),其中 n 是数组 arr 的长度。算法的时间复杂度即排序的时间复杂度。 方法二:堆 我们用一个大根堆实时维护数组的前 kk 小值。首先将前 kk 个数插入大根堆中,随后从第 k+1k+1 个数开始遍历,如 阅读全文
posted @ 2020-11-04 19:50 拾月凄辰 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 思路 下文使用majority来代表“数组中出现次数超过一半的数字 ” 。 方法一:哈希表 遍历数组 nums ,用 map 统计各数字的数量,即可找出 majority 。 时间复杂度:O(n) 空间复杂度:O(n) 1 class Solution { 2 private: 3 unordere 阅读全文
posted @ 2020-11-04 10:56 拾月凄辰 阅读(96) 评论(0) 推荐(0) 编辑