Tag: 位数

用JavaScript获取数字的数量

正如我的post标题所示,我想知道var number有多less个数字。 例如:如果number = 15; 我的function应该返回2 。 目前看起来像这样: function getlength(number) { return number.toString().length(); } 但Safari说,由于TypeError它不工作: '2' is not a function (evaluating 'number.toString().length()') 正如你所看到的, '2'实际上是正确的解决scheme。 但为什么它not a function ?

查找未sorting数组的中位数

为了find一个未sorting数组的中位数,我们可以在n个元素的O(nlogn)时间内做一个小堆,然后我们可以逐一提取n / 2个元素来得到中位数。 但是这个方法需要O(nlogn)的时间。 我们可以用O(n)时间的某种方法做同样的事吗? 如果可以的话,请告诉或者提出一些方法。

从整数stream查找运行中位数

可能重复: C中的滚动中值algorithm 鉴于整数是从数据stream中读取的。 查找以有效方式读取的元素的中位数。 解决方法我读过:我们可以使用左侧的最大堆来表示小于有效中值的元素,右侧的最小堆表示大于有效中值的元素。 在处理一个传入元素之后,堆中元素的数量最多相差1个元素。 当两个堆包含相同数量的元素时,我们将堆的根数据的平均值作为有效中值。 当堆不平衡时,我们从包含更多元素的堆的根部中select有效中位数。 但是,我们将如何构build一个最大堆和最小堆,即我们如何知道这里的有效中位数? 我认为我们会在max-heap中插入1个元素,然后在min-heap中插入下一个元素,以此类推所有元素。 纠正我如果我在这里错了。