题解 | #寻找第K大#

https://www.nowcoder.com/practice/e016ad9b7f0b45048c58a9f27ba618bf

执行结果:
通过
显示详情

添加备注

执行用时:1 ms, 在所有 Java 提交中击败了98.38%的用户
内存消耗:41.3 MB, 在所有 Java 提交中击败了75.02%的用户
通过测试用例:32 / 32
public static int findKth(int[] a, int n, int K) {         // write code here         int cnt = 0;         for (int i = (n - 1) / 2; i >= 0; i--) {             adjustHeap(a, i, n);         }         for (int i = n - 1; i >= 0; i--) {             int tmp = a[0];             a[0] = a[i];             a[i] = tmp;             cnt++;             if (cnt == K) {                 return a[n - K];             }             adjustHeap(a, 0, i);         }         return 0;     }     public static void adjustHeap(int[] array, int parent, int length) {         int lChild = 2 * parent + 1;         if (lChild < length) {             int rChild = lChild + 1;             if (rChild < length && array[rChild] > array[lChild]) {                 lChild++;             }             if (array[parent] >= array[lChild]) {                 return;             }             int tmp = array[parent];             array[parent] = array[lChild];             array[lChild] = tmp;             adjustHeap(array, lChild, length);         }     }

全部评论

相关推荐

测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
06-15 20:57
已编辑
门头沟学院 Java
CARLJOSEPH...:年轻人有傲气很正常,但是建议工作前洗净傲气。 说实在的,什么奖学金什么奖项的都很一般。尊重你的老师,在有时间的时候去上课,真遇到走不开的事,请态度端正地向你的老师说明情况,请求请假。我相信任何一个有师德的老师都会允许的(我的老师就是这样)。
点赞 评论 收藏
分享
07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务