当前位置: 首页 > 知识库问答 >
问题:

求两个加权平均相等的子阵

昝欣可
2023-03-14

我试图通过DP找到所有子数组的加权平均值,然后按列排序,找到长度相同的2。但我无法继续下去,我的方法似乎太模糊/太粗暴了。我将非常感谢任何帮助。提前谢了。

共有1个答案

鲁德佑
2023-03-14

第一步应该是对数组进行排序。然后可以识别和分解任何相等的值对。其余的数字都将不同,如下所示:

2、3、5、9、14、19……等等

下一步是将成对与它们的中心进行比较:

然后比较成对的三元组:

2+3+19==5+9+14?
2+5+19==3+9+14?
2+9+19==3+5+14?

诸如此类。有不同的方法来做排序。一种方法是创建一个初始括号,例如,给定A B C D E F G H,初始括号是ABGH对CDEF,即外部相对于中心。然后根据比较值切换值。例如,如果ABGH>CDEF,那么您可以尝试左值大于右值的所有开关。在这种情况下,G和H大于E和F,所以可能的开关是:

 类似资料:
  • 我是新来的。任何帮助都将不胜感激 这是我的原始数据: 我想得到的是: 1创建一个新的列调用平均值,以计算每个提要的平均市值。 2求加权平均数。 这是我当前的代码,我得到NaN: 对于加权平均代码: 我得到了一个错误: AttributeError:“Series”对象没有属性“value”

  • 问题内容: 我正在写一个使用numpy中的卷积函数的移动平均函数,它应该等效于(加权移动平均)。当我的权重全部相等时(如简单的算术平均值),它可以正常工作: 给 但是,当我尝试使用加权平均值时 而不是(对于相同的数据)3.667,4.667,5.667,6.667,…我希望,我得到 如果删除“有效”标志,则什至看不到正确的值。我真的很想对WMA和MA使用convolve,因为它可以使代码更整洁(相

  • 问题内容: 我正在为Pyspark中的时间序列编写异常检测算法。我想计算(-3,3)或(-4,4)窗口的加权移动平均值。现在,我正在使用滞后和超前窗口功能,并将它们乘以一组权重。我的窗口当前是(-2,2)。 我想知道是否有另一种方法可以计算Pyspark中的加权移动平均值。 我正在使用的当前代码是: 问题答案: 您可以概括当前的代码: 它可以用作: 注意事项 : 您可能会考虑将滞后缺失的帧的结果标

  • 我正在写一个移动平均函数,它使用numpy中的卷积函数,它应该相当于一个(加权移动平均)。当我的权重都相等时(就像在一个简单的算术平均值中一样),它工作得很好: 给予 对这种行为有什么看法吗?

  • 问题内容: 我有一个java.util.Date对象数组。我试图找到平均值。 例如,如果我有2个日期对象,分别是7:40 AM和7:50 AM。我应该获得7:45 AM的平均日期对象。 我正在考虑的方法效率低下: 用于遍历所有日期 找出0000与时间之间的时差 将时间差加到总计 除以总数 将该时间转换为日期对象 有更简单的功能可以做到这一点吗? 问题答案: 好的,从根本上讲,您可以将所有对象的“自

  • 问题内容: 示例数据: 我正在尝试获得上述数据的平均评分。 它需要的是每行*的总和除以总数 这是我正在尝试的操作,但给出的结果不正确(49.07,应为98.15): 可以在单个查询中完成吗?我正在使用SQL Server 问题答案: 只需回到加权平均的定义即可,因此使用s和除法: 如果愿意,可以将其转换为小数: