算法
文章平均质量分 61
绵绵羊23333
就是。就是。就是这样喜欢“小绵羊”
展开
-
剑指offer——数据流中的中位数
题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用GetMedian()方法获取当前读取数据的中位数。分析:本作一读就知道又是一个套路啊,先排序,再计算。于是我又召唤了强大的vector,话不多说,上代码!代码:class Solution {public: vector<double> a原创 2021-04-13 19:52:12 · 77 阅读 · 0 评论 -
算法设计+剑指习题——递归
一、什么是递归? 递归是一个奇妙的现象,书上的解释是在函数的定义中又调用函数自身。举个例子就是你想要零花钱需要问爸爸妈妈,当你问妈妈时,她说没有钱,问你爸要去,他有私房钱,于是你转头向爸爸要,爸爸却说家里钱都在妈妈手里,去向妈妈要……这就是无限递归(如果要编写递归函数时需要注意有终止条件,否则你就永远要不到钱了,哈哈)。 我直接用我自己或者我间接用我自己都是递归。 那什么时候用到递归呢?那什么时候用到递归呢?定义是递归这种类型我们需要特别了解的就是Fibonacci数列,在后面的习题当中我们原创 2021-03-18 20:06:11 · 413 阅读 · 0 评论 -
剑指offer——排序题:最小的K个数
class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { vector<int> ret; if (k==0 || k > input.size()) return ret; priority_queue<int, vector<int>> pq; f原创 2021-04-13 19:21:11 · 114 阅读 · 0 评论