首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
东风缘
上海交通大学 无线通信工程师
发布于上海
关注
已关注
取消关注
@让我过一次吧求求了:
华为 4.17 笔试AK
暑期实习投到现在大大小小笔试做了好多,基本都只过一题多点,昨天刚刚被xhs虐完,今天做华子的笔试,AK了,头一回AK。算是这段时间找实习处处碰壁唯一能稍微舒缓一下情绪的事情了。希望华子能给机会[牛泪]第一题 数据量不大,狠狠暴力。我这做法并不优。不过数据量小// 4.17 1import java.util.HashMap;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); HashMap<String,Integer> m = new HashMap<>(); scan.nextLine(); String s = scan.nextLine(); String str = s; String t = rem(str); while(!str.equals(t)){ str = t; t = rem(t); if(t.equals("0")) { str = t; break; } } System.out.print(str); } static String rem(String s){ String[] cards = s.split(" "); int n = cards.length; StringBuilder ans = new StringBuilder(); int i = 0; while(i<n){ String t = cards[i]; int ti = i; int count = 0; while(i<n&&t.equals(cards[i])){ count++; i++; } if(count==3){ continue; }else if(count == 4){ ans.append(t); ans.append(' '); }else{ for (int j = ti; j < i; j++) { ans.append(t); ans.append(' '); } } } if(ans.length() == 0)return "0"; ans.deleteCharAt(ans.length()-1); return ans.toString(); }}第二题 建树+bfs写的。因为是字符串,建树挺麻烦的,应该还有更好的方法,例如并查集应该能做。 //4.17 2import java.util.*;public class Main { static Set<String> fa = new HashSet<>(); static HashMap<String, Set<String>> lm = new HashMap<>(); static HashMap<String, int[]> nm = new HashMap<>(); public static void main(String[] args) { Scanner scan = new Scanner(System.in); int M = scan.nextInt(); int N = scan.nextInt(); scan.nextLine(); String[] problems = new String[N]; for (int i = 0; i < N; i++) { problems[i] = scan.nextLine(); } for(String line:problems){ String[] items = line.split(" "); String father = items[1]; String child = items[0]; int lev = Integer.parseInt(items[2]); int num = Integer.parseInt(items[3]); if(father.equals("*")){ fa.add(child); if(!lm.containsKey(child)) lm.put(child,new HashSet<>()); if(!nm.containsKey(child)) nm.put(child,new int[]{0,0}); }else { if(!lm.containsKey(father))lm.put(father,new HashSet<>()); if(!nm.containsKey(father)) nm.put(father,new int[]{0,0}); if(!lm.containsKey(child))lm.put(child,new HashSet<>()); if(!nm.containsKey(child)) nm.put(child,new int[]{0,0}); lm.get(father).add(child); } nm.get(child)[lev]+=num; } int ans = 0; for (String f:fa) { int x = dfs(f); if(x>M)ans++; } System.out.println(ans); } static int dfs(String root){ Set<String> x = lm.get(root); int[] my = nm.get(root); int cost = 5*my[0]+2*my[1]; for(String y:x){ cost += dfs(y); } return cost; }}第三题 dijkstra,求完再加个索引一块排序。 不过奇怪的是,给的数据n = 1e4,矩阵都1e8了,java竟然只跑180ms,不知道时间是怎么算的import java.util.*;public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int[][] g = new int[n][n]; int[] cap = new int[n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { g[i][j] = scan.nextInt(); } } for (int i = 0; i < n; i++) { cap[i] = scan.nextInt(); } int s = scan.nextInt(); int ms = scan.nextInt(); int[][] res = dijkstra(g,s); Arrays.sort(res,(a,b)->a[0]==b[0]?a[1]-b[1]:a[0]-b[0]); StringBuilder ans = new StringBuilder(); int sum = 0; for (int i = 1; i < n; i++) { sum+=cap[res[i][1]]; ans.append(res[i][1]); ans.append(' '); if(sum>=ms)break; } ans.deleteCharAt(ans.length()-1); System.out.println(ans); } static int[][] dijkstra(int[][]g,int s){ int n = g.length; int[] dist = new int[n]; Arrays.fill(dist,Integer.MAX_VALUE); dist[s] = 0; boolean[] vis = new boolean[n]; for (int i = 0; i < n; i++) { int t = -1; for (int j = 0; j < n; j++) { if(!vis[j]&&(t==-1||(dist[t]>dist[j]))){ t = j; } } vis[t] = true; for (int j = 0; j < n; j++) { if(g[t][j]<0) continue; if(dist[t]+g[t][j]<dist[j]){ dist[j] = dist[t]+g[t][j]; } } } int[][]res = new int[n][2]; for (int i = 0; i < n; i++) { res[i][0] = dist[i]; res[i][1] = i; } return res; }}
点赞 12
评论 7
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
10-29 14:50
深圳大学 测试开发
26届秋招 - 用友 - 后端面经
呃呃,这家公司玩呢,base北京22k*14都开不出来。避雷
点赞
评论
收藏
分享
10-30 22:32
门头沟学院 Java
秋招先下手为强
如果秋招能重来,我会把“整理实习项目、改简历”当成头等大事,绝对不懒和“等准备好”拖延,早投早面早占坑!1. 实习期间“见缝插针”总结,绝不等结束后“一片空白”不用每天花几小时,哪怕午休抽10分钟、睡前翻5分钟手机备忘录,把当天做的关键事记下来,比如“用XX工具整理了300条用户数据,帮团队定位了2个问题”。别想着“等实习闲了再整”,实习哪有真的闲的时候?越拖越容易忘细节,最后写简历只能凑字数,根本没亮点。没事和mt以及其他同事多交流,早点搞明白项目,并整理好项目细节,或者“偷”他们的项目产出,搞明白了就是你的了2. 简历先出“能用版”就投,别死磕“完美版”只要实习核心项目捋顺了,哪怕简历还有...
后端转测开第一人:
事实上也是靠运气 找工作3分实力7分运
如果秋招能重来,我会__...
点赞
评论
收藏
分享
10-14 17:03
中国计量大学 Java
双非还有机会吗,求拷打
刚过完第一遍八股。。。
点赞
评论
收藏
分享
09-18 16:00
哈尔滨学院 教师
这个情况是不是挂了啊,帮我看看呗,各位大神
Aurora23:
属于挂一半,暂时进池子了,隔一段时间没有其他组捞的话就彻底结束了
点赞
评论
收藏
分享
10-26 23:55
门头沟学院 推荐算法
字节策略算法一面面经
算法面面了三个题目 1.手撕代码,最长公共子序列,讲了思路,动态规划 2.给定rand5()生成1到5均匀随机数,用rand5写 rand10(),想映射想了半天,结果还是不对 3.聊了一下逻辑斯蒂回归,讲了交叉熵损失,至于为什么用这个,好久没接触了,忘了sigmod函数这么回事了
查看3道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
造谣刑法老师媚男,反被老师法院起诉
9909
2
...
秋招小失败-后端小小劝退(大结局)
6792
3
...
9本秋招后端收获9+offer, 我做对了什么?
5397
4
...
你们说,人会一直倒霉吗?
3530
5
...
秋招能拿多个大厂offer的其实就两种人
2144
6
...
好想被坚定地选择
1416
7
...
cvte体验实习
1349
8
...
造谣老师媚男,不料炼丹炉炸了
1233
9
...
团子今年是不是普遍涨薪了?开水团变甜了?
1201
10
...
牛客计算机考研题库全面升级,408真题+复试机试题等你来刷!
1153
创作者周榜
更多
正在热议
更多
#
校招生月薪1W算什么水平
#
42050次浏览
231人参与
#
HR问:你期望的薪资是多少?如何回答
#
67048次浏览
653人参与
#
“vivo”个offer
#
41184次浏览
288人参与
#
如果上班像打游戏,你最想解锁什么技能
#
9716次浏览
77人参与
#
我和mentor的爱恨情仇
#
77537次浏览
428人参与
#
为了实习逃课值吗?
#
31835次浏览
292人参与
#
打工人的精神状态
#
98314次浏览
1287人参与
#
被同事甩锅了怎么办
#
24002次浏览
100人参与
#
你见过哪些工贼行为
#
27380次浏览
137人参与
#
一人一个landing小技巧
#
125172次浏览
1453人参与
#
你的秋招第一场笔试是哪家
#
258402次浏览
2026人参与
#
满帮集团求职进展汇总
#
6476次浏览
68人参与
#
考研失败就一定是坏事吗?
#
149431次浏览
1081人参与
#
vivo工作体验
#
29031次浏览
125人参与
#
和mentor 1on1 都聊什么?
#
1992次浏览
21人参与
#
哪一瞬间觉得自己长大了
#
39335次浏览
494人参与
#
上班后和你想的一样吗?
#
87882次浏览
671人参与
#
实习吐槽大会
#
386465次浏览
2156人参与
#
如何准备秋招
#
64498次浏览
830人参与
#
你想留在一线还是回老家?
#
62580次浏览
537人参与
#
工作后明白的那些道理
#
22787次浏览
225人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务