java - 随着深度的增加生成四分位数位置
问题描述
我想以编程方式生成四分位数 (IQR) 位置,以便我可以将它们用作获取最小 - 最大范围内的值的基础,并增加粒度顺序。
我被困了一段时间。令人惊讶的是,当我在寻找想法时,我在 Stack Overflow 上一无所获。因此,我将发布我提出的解决方案,以便将来在他们需要时帮助他们。
解决方案
这是我想出的解决方案:
final int DEPTH = 32 //2^n where n is the depth of the quartile tree
for(int j = 1; j < DEPTH; j *= 2){
double quotient = 1.0 / j; //How many quartiles to generate
for(int i = 1; i < j; ++i)
if(i % 2 != 0)
System.out.println((i * quotient));
System.out.println("-------");
}
这样做会产生以下输出:
-------
0.5
-------
0.25
0.75
-------
0.125
0.375
0.625
0.875
-------
0.0625
0.1875
0.3125
0.4375
0.5625
0.6875
0.8125
0.9375
-------
推荐阅读
- android - BottomSheet 对话框打开不止一次
- php - 如何用城镇名称替换 ID?
- formik - 如何验证 YUP 中的三个复选框何时选中?
- symfony - 将 SF 从 2.8 升级到 3.xx
- asp.net-core - 哪些 ASPNetCore 包与 netcoreapp2.1 兼容?
- javascript - 如何根据我使用 selenium python 的 HTML 数据获取 HTML 索引?
- android - 如何等待 firebase 查询完成?
- angular - '$ 未定义' | Angular 6 中的服务器端渲染
- python - 邮件的 ReceivedTime 未在 python 中显示
- ios - 如何在适用于 iOS 的 React 应用程序上隐藏滚动条