最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个

先说说什么是中位数:

中位数就是中间的那个数,

如果一个集合是奇数个,那么中位数就是按大小排列后,最中间那个数,

如果一个集合是偶数个,那么中位数就是按大小排列后,最中间那2个数的平均数。

比如:

1,2,3,4,5  那中位数就是3

1,2,3,4,5,6 那中位数就是 (3+4)/2 = 3.5

知道逻辑后方法就很简单了 下面是代码

public static void main(String[] args) {

List total = new ArrayList();

total.add(4);

total.add(2);

total.add(3);

total.add(1);

total.add(5);

total.add(6);

double a = median(total);

System.out.println(a);

}

private static double median(List total) {

double j = 0;

//集合排序

Collections.sort(total);

int size = total.size();

if(size % 2 == 1){

j = total.get((size-1)/2);

}else {

//加0.0是为了把int转成double类型,否则除以2会算错

j = (total.get(size/2-1) + total.get(size/2) + 0.0)/2;

}

return j;

}

1. 方法内先判断集合是奇数还是偶数,如果是奇数那么就是第n+1/2个数 ,也就是下标为n-1/2的值,

如果是偶数 就是第n/2和n/2+1的数的平均值 也就是下标为n/2-1和n/2的平均值

2. 该方法传入的是list集合  如果为数组  可以先用Arrays.aslist()方法转换后传入

java中位数_java 计算中位数方法相关推荐

  1. java中求中位数_java 计算中位数的实现方法

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...

  2. 大数据中位数怎么运算_java 计算中位数的实现方法

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...

  3. java桥_java 泛型--桥方法

    因为 java 在编译源码时, 会进行 类型擦除, 导致泛型类型被替换限定类型(无限定类型就使用 Object). 因此为保持继承和重载的多态特性, 编译器会生成 桥方法. 本文最后附录所有源码. P ...

  4. 获取中位数java_java 计算中位数方法

    最近工作需要 要求把python的代码写成java版本,python中有一个np.median()求中位数的方法,java决定手写一个 先说说什么是中位数: 中位数就是中间的那个数, 如果一个集合是奇 ...

  5. cdate在java中_Java Calendar.add方法代码示例

    本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...

  6. java 年龄_Java 计算年龄

    定义一个Birthday类,其成员变量有3个整形变量(出生的年月日):year,month,day:提供构造方法对这3个成员变量进行初始化:提供成员变量的get.set方法:成员函数有getAge() ...

  7. java 方差_java计算方差、标准差(均方差)实例代码

    java计算标准差思路 //方差s^2=[(x1-x)^2 +...(xn-x)^2]/n 或者s^2=[(x1-x)^2 +...(xn-x)^2]/(n-1) public static doub ...

  8. modifiers在JAVA中_Java Modifier.classModifiers方法代碼示例

    import java.lang.reflect.Modifier; //導入方法依賴的package包/類 /** * Returns a string describing this {@code ...

  9. java 实例域_Java实例域初始化方法及顺序

    Java实例域初始化方式 1.构造器 public class Employee { private String name; private String gender; private int a ...

最新文章

  1. 六道面试中常见的智力题 来看看你会做几道?
  2. 关于数据库内“表”的几点
  3. SpringBoot+Junit使用Autowired注入时为空
  4. sql 不等于符号_SQL 必备知识 - 第一弹
  5. redis介绍以及使用 ppt_茶具一对一介绍,以及使用方法
  6. 解决VS2015安装后stdio.h ucrtd.lib等文件无法识别问题,即include+lib环境变量配置
  7. Linux系统Web网站目录和文件安全权限设置
  8. java遍历d盘所有文件夹_java遍历指定盘符的所有文件和文件夹
  9. Setup Factory 9打包Windows后台服务
  10. 【等保小知识】等保二级是否需要做密评?什么是密评?
  11. iphone长截图哪个软件好_这可能是 iPhone 上最好用的长截图软件,你用过吗?
  12. 【转】论文阅读理解 - Panoptic Segmentation 全景分割
  13. JAVA访问HDFS(满满干货!基础操作入门)
  14. 基于javaagent-ByteBuddy监控方法执行耗时
  15. 100个世界上鲜为人知的奇闻怪事小知识(转)
  16. 递归皮质网络RCN简单理解
  17. _nop_();的由来和作用
  18. android课程设计致谢,课程设计致谢老师
  19. excel高级筛选怎么用_表格技巧—Excel高级筛选怎么用
  20. 软件技术基础知识复习

热门文章

  1. 调用Django中的API时,使用Pycharm给后端view打断点的方法
  2. html-css练习题(天天生鲜静态网页制作)文末有完整版代码地址链接
  3. word里双横线怎么打_美人计 | 精致打工人秀智,教你内双怎么化
  4. 转usb驱动cmw500 ni_支持USB Type-C接口的外置蓝光驱动器IO Data BRP-UT6 / MC2本月发售...
  5. 别求面经了!小夕手把手教你如何斩下和选择NLP算法岗offer!(2020.4.14更新)...
  6. 基于Consul的分布式信号量实现
  7. 图谱实战 | 斯坦福黄柯鑫:图机器学习在生物图上的应用
  8. 论文浅尝 | 神经网络与非神经网络简单知识问答方法的强基线分析
  9. 论文浅尝 | CFO: Conditional Focused Neural Question Answering
  10. 二叉树前序遍历、中序遍历、后序遍历手稿