第二题,每次变负数了就淘汰最小的数就行了 private static void solve(int n, int[] arr) { PriorityQueue<Integer> q = new PriorityQueue<>(); int sum = 0; int cnt = 0; for (int i = 0; i < n; i++) { sum += arr[i]; q.add(arr[i]); cnt += 1; if (sum < 0 ) { int tmp = q.poll(); sum -= tmp; cnt -= 1; } } System.out.println(cnt); }

相关推荐

10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
牛客网
牛客企业服务