//把最大的N个包放到小顶堆,然后剩下的包加到堆顶上去,直到所有的包都加进去,堆顶就是结果 private static int smallerPackage(int[] array, int num){ PriorityQueue<Integer> pq = new PriorityQueue<>(); for (int i = array.length-1; i >= array.length-num; i--) { pq.add(array[i]); } for (int i = array.length-num-1; i >=0; i--) { int smaller = pq.poll(); pq.add(array[i]+smaller); } System.out.println(pq); return pq.peek(); }
点赞 4

相关推荐

notbeentak...:真的nc,算毕业6月份,要给这种b公司打半年多白工😅
点赞 评论 收藏
分享
09-14 17:23
门头沟学院
故事和酒66:所以说副业很重要,程序员干到40岁,再怎么也赚300万了,吃吃利息也够活下去
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务