美文网首页
最小方差划分

最小方差划分

作者: 牛奶芝麻 | 来源:发表于2018-03-15 12:36 被阅读204次

给一个数组,求一个k值,使得前k个数的方差 + 后面n-k个数的方差最小

解题思路:

如果不考虑方差的概念,这题可以简化为 “给一个数组,求一个k值,使得前k个数的和 + 后面n-k个数的和最小”

举例, 如 nums = [1,3,2,4],我们可以先从左向右求出各个子段和 [1,4,6,10],然后再从右向左求出各个子段和 [4,6,9,10],我们发现对应的子段和为 1 -> 9, 4 -> 6, 6 -> 4。因此,我们只需要正反遍历数组两次,就可以求得结果。

时间复杂度:O(n),空间复杂度 O(n)

方差概念:平方的均值减去均值的平方,即 D(X) = E(x^2) - [E(X)]^2

Python 实现:
class Solution:
    """
    @param nums: 数组
    @return: 最小方差划分的数组索引和最小方差
    """
    def minVariancePartition(self, nums):
        left = self.subVariance(nums[:])
        right = self.subVariance(nums[::-1])[::-1]
        minVariance, index = float("inf"), 0
        for i in range(1, len(right)):
            if left[i-1] + right[i] < minVariance:
                minVariance = left[i-1] + right[i]
                index = i - 1  # 更新划分的索引
        return index, minVariance

    def subVariance(self, nums):
        subVar = []
        subSum = subSquare = 0
        for i in range(len(nums)):
            subSum += nums[i]
            subSquare += nums[i] * nums[i]
            subVar.append(subSquare/(i+1) - (subSum/(i+1))**2) # 子数组方差
        return subVar

a = [4,3,1,2]
print(Solution().minVariancePartition(a)) # (1,1.25)

相关文章

  • 最小方差划分

    给一个数组,求一个k值,使得前k个数的方差 + 后面n-k个数的方差最小 解题思路: 如果不考虑方差的概念,这题可...

  • 动态规划:数组分成m组,一系列的问题

    n个数组成的数据,分成m组,求解下列问题: 1)m组的方差的和最小或者最大? 最小方差划分 - 简书,这道题目是分...

  • 常见概念

    目录 [TOC] 常见基本概念 最小二乘:  适用于具有低方差,高偏差的数据 最近邻:  适用于具有高方差,低偏差...

  • (10)监督学习-分类问题-线性判别分析(LDA与Fisher)

    线性判别分析包括LDA和Fisher,其思想都是讲数据映射到一条直线上,使得同类方差最小,不同类的方差最大。 L...

  • 010 图像像素值统计

    用途:统计直方图;求取图像像素最大值、最小值,对图像进行归一化;求取图像均值、方差,进行分割或归一化;根据方差判断...

  • 数据诊断常见指标

    均值/中位数/最大值/最小值等常规指标 计数类,如0值,1值,-1值等 缺失值/方差,方差为零,说明该特征没有区分...

  • Day 2: 正则化

    1、Bias(偏差) & Variance(方差) bias就是衡量训练集和我们的最小误差的差距 variance...

  • 8、NumPy读写文件和基本函数

    均值(加权)、最大、最小、极差、中位数、方差、相邻元素差值、平方根、最大值的索引值、最小值的索引值、【所有数组中第...

  • 数据分析学习Day2---商务与统计(第五章)

    1.参数 2.有偏估计与无偏估计 但统计量都是无偏估计时,应该考虑方差即分散程度,选取最小方差的无偏估计。 3.抽...

  • 说说最小均方误差(MMSE)

    无人机飞控中使用到的卡尔曼滤波函数就是最小均方差的实现。MMSE是一个model用来最小化Mean Square ...

网友评论

      本文标题:最小方差划分

      本文链接:https://www.haomeiwen.com/subject/iathqftx.html