问:给定一个数组 arr[] 和一个数字 K,其中 K 小于数组的大小,任务是在给定数组中找到第 K 个最小的元素。假设所有数组元素都是不同的。
我已经浏览了与这个问题相关的所有帖子,但没有一个能帮助我解决时间复杂度问题。我是编码新手,很难优化我的解决方案。
预期时间复杂度为 O(n)
这是我的函数,时间复杂度为 O(nlogn):
public static void smallestk(int arr[],int k)
{
Arrays.sort(arr);
System.out.println(arr[k-1]);
}
输出是正确的,但我想将我的代码从 O(nlogn) 优化到 O(n)
侃侃尔雅
相关分类