首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
Freedomoooo
门头沟学院 Java
关注
已关注
取消关注
@一片特立独行的面包:
用友技术笔试-友新星实习项目-Java-01卷
用友技术笔试-友新星实习项目-Java-01卷(2024.5.26 15:00-17:00)第1题public class Solution { public long minOperations(int[] nums1, int[] nums2, int k) { int n = nums1.length; int[] diff = new int[n]; long totalIncrease = 0, totalDecrease = 0; for (int i = 0; i < n; i++) { diff[i] = nums2[i] - nums1[i]; if (diff[i] % k != 0) { return -1; } if (diff[i] > 0) { totalIncrease += diff[i] / k; } else if (diff[i] < 0) { totalDecrease += -diff[i] / k; } } if (totalIncrease != totalDecrease) { return -1; } return totalIncrease; }}第2题解法1public class Solution { public ArrayList<Integer> findAllPerson(int n, int[][] meetings, int firstPerson) { ArrayList<Integer> ans = new ArrayList<>(); ans.add(0); ans.add(firstPerson); Arrays.sort(meetings, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return o1[2] - o2[2]; } }); for (int[] meeting : meetings) { if (ans.contains(meeting[0]) && !ans.contains(meeting[1])) { ans.add(meeting[1]); } if (ans.contains(meeting[1]) && !ans.contains(meeting[0])) { ans.add(meeting[0]); } } Collections.sort(ans); return ans; }}解法2使用TreeSet去重并排序public class Solution { public ArrayList<Integer> findAllPerson(int n, int[][] meetings, int firstPerson) { TreeSet<Integer> set = new TreeSet<>(); set.add(0); set.add(firstPerson); Arrays.sort(meetings, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return o1[2] - o2[2]; } }); for (int[] meeting : meetings) { if (set.contains(meeting[0])) { set.add(meeting[1]); } if (set.contains(meeting[1])) { set.add(meeting[0]); } } return new ArrayList<>(set); }}第3题解法1(不符合题目要求的不能更改节点的value)public class Solution { public ListNode groupSort(ListNode head, int n) { if (head == null || n <= 1) { return head; } ListNode dummyHead = new ListNode(-1); dummyHead.next = head; ListNode preEnd = dummyHead; while (head != null) { ListNode start = head; ListNode end = head; int count = 1; while (count < n && end.next != null) { end = end.next; count++; } if (count < n) { break; } ListNode nextStart = end.next; end.next = null; ListNode sortedHead = sort(start); preEnd.next = sortedHead; while (preEnd.next != null) { preEnd = preEnd.next; } preEnd.next = nextStart; head = nextStart; } return dummyHead.next; } public ListNode sort(ListNode head) { List<Integer> values = new ArrayList<>(); ListNode cur = head; while (cur != null) { values.add(cur.val); cur = cur.next; } Collections.sort(values, Collections.reverseOrder()); cur = head; for (Integer value : values) { cur.val = value; cur = cur.next; } return head; }}解法2(符合题目要求)public class Solution { public ListNode groupSort(ListNode head, int n) { if (head == null || n <= 1) { return head; } ListNode dummyHead = new ListNode(-1); dummyHead.next = head; ListNode preEnd = dummyHead; while (head != null) { ListNode start = head; ListNode end = head; int count = 1; while (count < n && end.next != null) { end = end.next; count++; } if (count < n) { break; } ListNode nextStart = end.next; end.next = null; ListNode sortedHead = sort(preEnd); preEnd.next = sortedHead; while (preEnd.next != null) { preEnd = preEnd.next; } preEnd.next = nextStart; head = nextStart; } return dummyHead.next; } public ListNode sort(ListNode preEnd) { ListNode cur = preEnd.next; PriorityQueue<ListNode> pq = new PriorityQueue<>(new Comparator<ListNode>() { @Override public int compare(ListNode o1, ListNode o2) { return o2.val - o1.val; } }); while (cur != null) { pq.add(cur); cur = cur.next; } cur = preEnd; while (!pq.isEmpty()) { cur.next = pq.poll(); cur = cur.next; } cur.next = null; return preEnd.next; }}第4题public class Solution { public int[][] interviews; public int maxValue(int[][] interviews, int k) { if (k < 1) { return 0; } Arrays.sort(interviews, new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { return o1[1] - o2[1]; } }); this.interviews = interviews; int[][] dp = new int[interviews.length + 1][k + 1]; for (int i = 1; i <= interviews.length; i++) { for (int j = 1; j <= k; j++) { dp[i][j] = dp[i - 1][j]; int p = find(i - 1); if (p != -1) { dp[i][j] = Math.max(dp[i][j], dp[p + 1][j - 1] + interviews[i - 1][2]); } else { dp[i][j] = Math.max(dp[i][j], interviews[i - 1][2]); } } } return dp[interviews.length][k]; } public int find(int i) { int low = 0, high = i - 1; while (low <= high) { int mid = low + (high - low) / 2; if (interviews[mid][1] < interviews[i][0]) { if (mid + 1 <= i - 1 && interviews[mid + 1][1] < interviews[i][0]) { low = mid + 1; } else { return mid; } } else { high = mid - 1; } } return -1; }}
点赞 17
评论 8
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 16:45
武汉大学 后端
救救孩子吧
搜狐发Offer,但是武大不放人,怎么办呀,导员说,如果我旷课就没有考试资格
四川江油真nb:
给导员送到图书馆
点赞
评论
收藏
分享
08-09 11:01
蚌埠坦克学院 Java
强制开摄像头,真有人用牛客面试吗?
都是平常模拟联系了,开个摄像头,还要不要隐私了。。。
SalaryWish...:
可能想还原真实面试场景吧,而且一些企业的AI面都是牛客做的,我觉得底层是一样的
点赞
评论
收藏
分享
07-18 18:24
火炉中学 Java
今天提交了人生第一次代码,开心
虽然只是一个小小的bug进来实习一直只让我读代码熟悉项目,一个需求也没有今天看代码的时候发现一年半前的一段代码的判空条件错了,一直没测出来可能是因为这个要在数据库不一致的情况下才会NPE,赶紧给组长汇报我的小发现,组长就让我创建分支,提交推送,合并分支了虽然只是一个小小的bug,但第一次提交代码给我的奇妙感觉还是让我记忆深刻,感觉自己的职业生涯迈出了一大步不过上午困得不行在工位偷偷睡了三分钟就被ld叫醒了,还问我是不是没休息好,困就回家睡,在公司睡会影响同事
猫猫头猫头鹰:
好了轮到我了。 你是我今天见过的最美的牛客女孩
点赞
评论
收藏
分享
08-01 02:22
山东科技职业学院 机械设计/制造
机械大佬求帮忙改进一下简历,应急毕业生真的不会改😭😭😭
机械人晒出你的简历
点赞
评论
收藏
分享
08-14 17:38
上海大学 运营
被虾皮拷打,已老实
面完就给我发了,也是被拷打了一番,认清自己的实力了。目前已老实
投递虾皮信息等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
【评论得现金💰】牛客评论活动又来咯
7.1W
2
...
8月份面经整理的算法高频题集合
1.4W
3
...
大疆结构秋招一面
4908
4
...
家里人一直跟我说要给领导买点东西,搞好关系
4793
5
...
快手秋招-后端一面
4356
6
...
8.13快手秋招Java后端二面记录
4001
7
...
美团二笔还没发邮件
3440
8
...
快手秋招一面
3384
9
...
大家离职都怎么开口的啊?
3352
10
...
快手 秋招 一面
3301
创作者周榜
更多
正在热议
更多
#
实习的内耗时刻
#
54790次浏览
608人参与
#
扒一扒那些奇葩实习经历
#
70617次浏览
928人参与
#
工作上你捅过哪些篓子?
#
20839次浏览
139人参与
#
给26届的秋招建议
#
36854次浏览
953人参与
#
独居后,你的生活是更好了还是更差了?
#
13174次浏览
174人参与
#
发工资后,你做的第一件事是什么
#
72377次浏览
251人参与
#
我的秋招“寄”录
#
43385次浏览
560人参与
#
在职场上,你最讨厌什么样的同事
#
27818次浏览
199人参与
#
你最近一次加班是什么时候?
#
80031次浏览
425人参与
#
我的AI电子员工
#
13210次浏览
105人参与
#
秋招投递记录
#
27804次浏览
309人参与
#
如果校招重来我最想改变的是
#
279289次浏览
2904人参与
#
秋招,不懂就问
#
11577次浏览
122人参与
#
校招第一份工作你干了多久?
#
98988次浏览
435人参与
#
你上一次给父母打电话是什么时候
#
12859次浏览
123人参与
#
我的国央企投递进展
#
52010次浏览
312人参与
#
网易求职进展汇总
#
113079次浏览
1069人参与
#
规定下班时间vs实际下班时间
#
21498次浏览
164人参与
#
vivo求职进展汇总
#
221221次浏览
1368人参与
#
应届生初入职场,求建议
#
240084次浏览
2707人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务