第一题的Java代码,贪心 + 双指针,先排序,优先单人参加,然后在剩的人里 左右双指针对撞 依次按“最小+最大”选两人参加,参加了就移动指针,参加不了就移动小的左指针 static int f(int[] nums, int N) { int cnt =0; Arrays.sort(nums); int r = nums.length - 1; for (; r >= 0; r--) { if (nums[r] >= N) { cnt++; } else { break; } } int l = 0; while (l < r) { if (nums[l] + nums[r] >= N) { cnt++; l++; r--; } else { l++; } } return cnt; }
3 1

相关推荐

12-20 11:26
复旦大学 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务