public class Z75 { public static int solution(int[] arr, int target) { int count = 0; int[] result = new int[arr.length]; Arrays.fill(result, -1); for (int i = 0; i < arr.length; i++) { boolean[] isUsed = new boolean[arr.length]; if (canSelected(arr, i, result, isUsed, target)) { count++; } } for (int i= 0; i < arr.length; i++) { if (arr[i] >= target && result[i] == -1) { count++; } } return count; } public static boolean canSelected(int[] arr, int i, int[] result, boolean[] isUsed, int target) { for (int j = 0; j < arr.length; j++) { if (i == j) { continue; } if (isUsed[j]) { continue; } if (arr[i] + arr[j] < target) { continue; } if (result[j] == -1) { result[i] = j; result[j] = i; return true; } int nextI = result[j]; if (nextI == i) { return false; } isUsed[j] = true; isUsed[i] = true; if (canSelected(arr, nextI, result, isUsed, target)) { result[i] = j; result[j] = i; return true; } } return false; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] arr = new int[n]; for (int i = 0; i < n; i++) { arr[i] = sc.nextInt(); } int m = sc.nextInt(); System.out.println((solution(arr, m))); } }
点赞 评论

相关推荐

01-05 18:00
嘉应学院 Java
七牛云头号黑子:一个并发项目+一个轮子项目,两个项目即可,有开源/博客可以写,没内容别写。3段实习没一个有含金量的,3个项目没一个并发项目,第一个tob项目业务方面也不可能用的是这个技术,一眼假。第二个项目,一个公司得多差劲需要你来重构权限模块,订单模块和优惠券模块你也做了,咋可能,很多公司订单模块就是直接独立出来的,要么项目不行,要么你在吹。第三个项目,大部分都在讲对接第三方和SpringAI框架的能力,这东西按照文档对这写就写出来了,没啥难度,没亮点。通病:项目描述全是在讲技术,没有讲清楚为什么要做这个,原技术是什么?基于什么考量替换的技术。实习内容明显包装痕迹且东一块西一块,纯拼凑。建议:去做并发项目,轮子项目,试着做点开源和博客,别再去小公司实习了,没意义,先投中厂,27届还早,加油。大概看了一下可能有说的不对的地方。
双非有机会进大厂吗
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务