Java中的等价“nth_element”函数是什么?
发布时间:2020-12-14 05:17:53 所属栏目:Java 来源:网络整理
导读:我不想得到一个排序的数组,只是第n个元素的值.例如,给定数组 a = [20,5,1,-3] 我想要查询 nth_element(a,2) = 1 在C中,有一个函数std :: nth_element可以做到这一点.是否有等效的Java函数? 谢谢! 解决方法 你可以使用数组来解决这个问题,而且它会很快. 这
我不想得到一个排序的数组,只是第n个元素的值.例如,给定数组
a = [20,5,1,-3] 我想要查询 nth_element(a,2) = 1 在C中,有一个函数std :: nth_element可以做到这一点.是否有等效的Java函数? 谢谢! 解决方法
你可以使用数组来解决这个问题,而且它会很快.
这种方法是最快的,内存使用率最低: int[] a = new int[] { 20,-3 }; int[] b = new int[a.length]; // Make room for a copy System.arraycopy(a,b,a.length - 1); // A very fast method for copying arrays Arrays.sort(b); // JDK array sorting,also very fast int second = b[1]; // Get the 2nd element of the sorted array 测试输出运行此代码: 1 该算法假设您不希望对原始数组进行排序.如果您不介意,您当然可以跳过创建第二个数组并执行阵列复制. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java.net.SocketException: Broken pipe 异常可能的原因
- Java String pool – 如何在堆上存储字符串
- java – 为什么Enum被认为比常量更安全?
- java – 这个:在静态上下文不能使用
- java 内部类的使用
- java – 何时使用hibernate.connection.provider_class
- java – 如何在Maven项目中的单元测试上运行IntelliJ调试器
- springboot 使用Spring Boot Actuator监控应用小结
- java lisi乱序、排序
- 使用robot.moveMouse()时,JavaFX KeyEvents被延迟