有无大佬看下第一题,只能82,难道贪的不对?核心如下 static int p1(int[] arr, int n, int k) { Arrays.sort(arr); long sum = 0; for (int v : arr) { sum += v; } for (int i = n - 1; i >= 0; i--) { //max<=k*(sum/n)的变形 ,从大到小枚举,满足就返回,否则就移除最重的那个; if (k * sum >= (long) (i + 1) * arr[i]) { return i + 1; } else { sum -= arr[i]; } } return 0; }
点赞 评论

相关推荐

点赞 评论 收藏
分享
牛客网
牛客企业服务