- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在java 8中如何有效地找到第K个最小的?第 K 个最小的是
http://www.geeksforgeeks.org/kth-smallestlargest-element-unsorted-array/
我已经在下面尝试过。如果有一个更有效的解决方案提供Java-8的安全性,例如在空数组等情况下我不应该在访问索引之前检查大小。我相信我自己的解决方案是安全的空数组。
如果存在我的 Java-8 方法和更好的 Java-8 方法的可证明的时间复杂度比较,我们将不胜感激。谢谢。
package lab.rat.jerry.kthsmallest;
import static java.util.stream.Collectors.toList;
import java.util.Arrays;
import java.util.List;
public class KthSmallest {
// Inputs
static int k = 3;
static Integer[] myIntArray = {2, 3, 1, 4, -2, 0, -3, 0, -1, 5 };
public static void main(String[] args) {
List<Integer> list = Arrays.asList(myIntArray);
System.out.println(list
.stream()
.sorted()
.distinct()
.limit(k)
.skip(k-1)
.collect(toList())
);
}
}
最佳答案
您可以在 Java 中使用简单的数据结构 PrioretyQueue
。您可以快速获取和删除最大或最小元素:
public static int kthLargestElement(int[] nums, int k) {
PriorityQueue<Integer> queue = new PriorityQueue<>();
for (int i = 0; i < nums.length ; i++) {
queue.add(nums[i]);
}
while (k > 1){
queue.poll();
k-=1;
}
return queue.poll();
}
关于Java 8 : How to find kth smallest, 高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42114069/
题目地址:https://leetcode.com/problems/smallest-range-i/description/ 题目描述 Given an array A of integers
您好,我目前正在参加 HackerRank 上的 Java 挑战赛,并遇到了一个我无法用我的代码解决的问题。 提示如下, 给定一个字符串 s 和一个整数 k,完成该函数,以便找到长度为 k 的字典顺序
#include using namespace std; int enough(int goal) { int C { }; int i { }; if (goal
我有两个 activity_menu.xml,一个在 layout-sw600dp 中用于平板电脑,另一个在 layout 中。平板电脑的布局从未加载(我什至在 4K xxxhdpi 模拟器上测试过)
var string = ''; var array = []; for(var i = 0; i < 10000; i++){ string += '0';
让表格像这样: CREATE TABLE `amoreAgentTST01` ( `moname` char(64) NOT NULL DEFAULT '', `updatetime` tim
我为 Codewars 5kyu 挑战 Closest and Smallest 编写了以下代码。 Input a string strng of n positive numbers (n = 0
在我开始之前,先了解一些背景信息: 我正在 ARM7 微 Controller (LPC2294/01) 上运行裸机应用程序,该微 Controller 使用编译器标准数学库(符合 IEEE-754
我在列表中循环查找特定条目,然后将其分配给变量并稍后尝试将其删除。演示比解释更容易。 ArrayList list1 = populate(); Example ex1 = list1.get(0);
我想知道 Ruby 中是否有一种方法可以将 String 的 Array 分成最小的部分。考虑: ['奶酪蜡笔', '马', '大象 a b c'] 有没有一种方法可以把它变成: ['奶酪', '蜡笔
题目地址:https://leetcode.com/problems/smallest-range-ii/description/ 题目描述 Given an array A of integer
本文关键词:算法题,刷题,Leetcode, 力扣,二叉搜索树,BST,第 k 小的元素,Python, C++, Java 题目地址:https://leetcode.com/problems/k
在java 8中如何有效地找到第K个最小的?第 K 个最小的是 http://www.geeksforgeeks.org/kth-smallestlargest-element-unsorted-ar
我正在学习如何使用“最小宽度 dp”来支持使用 this 的不同屏幕在安卓中。 我知道下面的数字是 dp 中设备的最小边。 Typical numbers for screen width dp ar
题目地址:https://leetcode.com/problems/find-smallest-letter-greater-than-target/description/open in new
我是 flutter 编程的新手。我一直在使用特定的UI,如下所示。 如果我尝试在开发人员选项中更改“最小宽度”选项并将其设置为默认值以外的其他值,则整个UI都会中断,如图所示。 我必须补充一点,完全
public int CalcBrackets(int teamCount) { int positions = 1; while (positions > 1
我对数学知之甚少,所以我不知道如何开始用谷歌搜索我正在寻找的东西,所以我依靠专家的智慧来帮助我理解我在寻找什么...... 我正在尝试为特定的大数找到最小的方程组。例如给定数字 “3940200619
在我的应用程序中,我支持手机/平板电脑的外形规范,并使用选择器“layout”(针对手机)和“layout-sw600dp”(针对平板电脑)进行单独布局。 详情如下: http://android-d
我有一个如下所示的 DataFrame 示例: import pandas as pd import numpy as np df = pd.DataFrame({'ID':[1,2,2,2,3,3,
我是一名优秀的程序员,十分优秀!