<
回复: 8
收起左侧

雪花店面第二轮

匿名用户-OYVPY  2023-9-30 10:25:45
本楼:   👍  0
0%
0%
0   👎

2023(7-9月) 码农类General 本科 实习@snowflake - 网上海投 - 技术电面 Onsite 视频面试  | 🙁 Negative 😣 HardFail | 其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
第二轮,是个烙印,开头自我介绍,稍微聊了一下专业,感觉还不错,但是进入coding以后,面试官全程没有提供任何hint,并且我认为负面地影响了我的发挥(当然也是我心态不好)。题目是给定一些location,还有一些color,以及一些连接两个location的edges,要给location染色,使得相邻location之间染的颜色不同。简而言之:给定无向图,对无向图进行k染色,k是颜色数量,使得相邻节点颜色不同。因为我是搞竞赛的,所以一开始先入为主在想是否有什么算法可以较优的解决这个问题(感觉面试比较烦的一点就是没有数据范围,竞赛的时候往往可以快速通过数据范围确定使用的算法),大概思考了十分钟,想不出什么好办法,感觉只能暴力枚举计算,于是就和面试官说可以这样暴力枚举。然后我忽然想到,这个染色问题似乎是个NP问题,没有多项式解法,于是我就和面试官说,如果我没记错这应该是个NP问题,结果面试官反驳我说不是NP(这个时候我心态就有点崩了
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
正最后没调出来,写代码的全程他也没有任何交流或者沟通,即使我有试图想和他沟通思路(以确保我在right track上),他也一直一言不发,所以变成我在那里自言自语。反正肯定是挂了,感觉有点可惜。分享不易,求米!!!

评分

参与人数 5大米 +15 收起 理由
DaveC + 2 给你点个赞!
清道神君 + 10 欢迎分享你知道的情况,会给更多大米奖励!
wtcupup + 1 赞一个
acestrike123 + 1 很有用的信息!
小亩_72f5990 + 1 很有用的信息!

查看全部评分


上一篇:字节跳舞近期面经总结
下一篇:tiktok 离谱挂经
zyrnj 2023-9-30 13:21:07 | 显示全部楼层
本楼:   👍  1
100%
0%
0   👎
全局:   340
89%
11%
42
不是785,难多了
回复

使用道具 举报

地里匿名用户
匿名用户-OYVPY  2023-9-30 10:39:30 来自APP
本楼:   👍  0
0%
0%
0   👎
时间复杂度我说的是O(k^N),上面打错了
扫码关注一亩三分地求职移民公众号
更多干货内容等你发现
回复

使用道具 举报

地里匿名用户
匿名用户-GGJ3A  2023-9-30 13:10:01 来自APP
本楼:   👍  0
0%
0%
0   👎
Leetcode 785?
回复

使用道具 举报

地里匿名用户
匿名用户-OYVPY  2023-9-30 13:21:09
本楼:   👍  0
0%
0%
0   👎

不是,这里是要一个对无向图k染色的方案(可能不存在合法方案),不是判断二分图,785是可以用二染色法判断是不是二分图
回复

使用道具 举报

dsdlslsmsus 2023-10-2 12:32:29 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   6
100%
0%
0
回复

使用道具 举报

taucross 2023-10-30 08:42:15 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   0
0%
0%
0
dfs,用C++写的:
  1. // invariant: upon entry, color[index] is already colored.
  2. bool helper(const vector<vector<int>>& g, vector<int>& color, int index, int k) {
  3.   for (int child : g[index]) {
  4.     if (color[child] == color[index]) return false;
  5.     else if (color[child] != 0) continue;
  6.     // color[child] == 0
  7.     for (int c = 1; c <= k; c++) {
  8.       if (c == color[index]) continue;
  9.       color[child] = c;
  10.       if (helper(g, color, child, k)) break;
  11.       color[child] = 0;
  12.     }
  13.     // impossible to color child.
  14.     if (color[child] == 0) return false;
  15.   }
  16.   return true;
  17. }

  18. vector<int> k_color(const vector<vector<int>>& g, int k) {
  19.   int n = g.size();
  20.   vector<int> color(n);
  21.   for (int i = 0; i < n; i++) {
  22.     if (color[i] == 0) color[i] = 1;
  23.     if (!helper(g, color, i, k)) return {};
  24.   }
  25.   return color;
  26. }
复制代码
回复

使用道具 举报

liurudahai 2023-11-5 10:25:17 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   123
87%
13%
18
暴力DFS枚举行不行?
回复

使用道具 举报

liurudahai 2023-11-5 10:38:08 | 显示全部楼层
本楼:   👍  0
0%
0%
0   👎
全局:   123
87%
13%
18
想了一下,只能暴力枚举
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

Advertisement
>
快速回复 返回顶部 返回列表