1.9 网易互娱求职攻略-理工科版本

1.9.1 校园招聘时间流程

网申

机考

面试

offer

4月-5月

4月-5月

4月-6月

6月-7月

1.9.2 薪资爆料

岗位

地点

学历

薪资范围(年薪)

AI研究工程师(2025届)

广州

本科

500-1000元/天

AI研究工程师(2025届)

杭州

本科

500-1000元/天

AI语音应用开发实习生(TTS/VC方向)

广州

硕士

150-200元/天

iOS开发

北京

本科

150-200元/天

*数据来源 牛客用户,更多详细信息可到牛客查询

1.9.3 面试真题

1、七星不靠

【题目描述】

七星不靠是中国麻将竞赛规则的番种,胡牌时由东南西北中发白7张,外加其他花色的147、258、369不相连的牌型,且没有将牌而组成。 ——百度百科

七星不靠中的七星是指:东西南北中发白,也就是牌中必须有这七张。而其它牌按下述的来拼全:

东西南北中发白+147万+258饼+369条

东西南北中发白+147万+258条+369饼

东西南北中发白+147条+258万+369饼

东西南北中发白+147条+258饼+369万

东西南北中发白+147饼+258条+369万

东西南北中发白+147饼+258万+369条

由于胡牌时只需要14张牌,而上述组合均有16张,那么除了东西南北中发白必须有外,其它三色可以随便去掉两张,都可以组成七星不靠。

我们的任务是,假设我们的14张牌中已经包含了东西南北中发白这7张牌,另外的牌都是万饼条的序数牌,给出另外的这7张牌,判断是否能组成七星不靠。

输入描述:

输入第一行为一个正整数T(T<=1000),表示有T组数据。

每组数据一行,包含7张牌,每张牌用”XY”表示,X为[1...9]的数字,Y为(“W”,”B”,”T”)中的一个,分别表示万,饼,条。有可能出现同样的"XY"但是数量不会超过4个。

保证数据一定合法。

输出描述:

对于每一组数据,输出YES或者NO,分别表示可以或者不可以组成七星不靠。

输入样例:

4

1T 4T 7T 2B 5B 8B 9W

1T 2T 3T 4T 5T 6T 7T

1B 2W 3T 4B 5W 6T 8W

2B 8B 5B 2B 6T 7W 4W

输出样例:

YES

NO

YES

NO

【解题思路】

处理下万饼条分别属于147,258,369的哪一类,再检查下类间是否互斥即可。

【参考代码】

#include<bits/stdc++.h>

using namespace std;

int main() {

int T; scanf("%d", &T); while(T--) {

vector<int> v[3];//存放万饼条的数字

//输入

for(int i = 0; i < 7; i++) {

char p[5]; scanf("%s", p);

if(p[1] == 'T')v[0].push_back(p[0] - '0');

if(p[1] == 'B')v[1].push_back(p[0] - '0');

if(p[1] == 'W')v[2].push_back(p[0] - '0');

}

int fl = 1;

//特判缺门的情况

for(int i = 0; i < 3; i++)if(v[i].empty()) {

puts("NO");

fl = 0;

break;

}

if(!fl)continue;

//排序

for(int i = 0; i < 3; i++)sort(v[i].begin(), v[i].end());

//判断万饼条内部是否满足隔3或者隔6的条件

for(int i = 0; i < 3; i++)for(int j = 1; i < v[i].size(); j++) {

if(v[i][j] - v[i][j - 1] == 3 || v[i][j] - v[i][j - 1] == 6);

else fl = 0;

}

//判断万饼条间元素对3取模是否互相独立

int cc[3] = {0};

for(int i = 0; i < 3; i++)cc[v[i][0] % 3]++;

for(int i = 0; i < 3; i++)if(!cc[i])fl = 0;

puts(fl ? "YES" : "NO");

}

return 0;

}

2、十字斩

【题目描述】

游戏工程师小明购买了VR设备之后爱上了体感游戏,而最近他把他的业余时间花在了一款叫十字斩的游戏里。当你戴上VR眼镜启动游戏后,先选择一首音乐,然后会发现有一个N*N的方阵呈现在你的眼前,方阵的每个格子上都有一个数字。然后伴随着音乐节拍,你需要按照时机对方阵进行一次十字斩击(同时斩掉一行和一列,而且选好了行列后不能斩到选定行列之外的格子)。斩击完了之后,矩阵会收缩成一个(N-1)*(N-1)的方阵。

特别的,若该次十字斩斩到的格子数字和是本次所有十字可能里最大的,则会获得一个Perfect,如果N次十字斩都是Perfect,则可以获得FullCombo的成就。但小明的心算能力不行,至今还未能获得FullCombo的成就。所幸初始数字方阵与音乐是一一对应的,所以小明可以通过预先计算十字斩的位置然后背下来,游玩的时候根据记忆去进行十字斩位置的选择即可。

小明上了一天班已经不想写代码了,所以他拜托你来写一个程序为他计算出十字斩的方案。

输入描述:

每个输入数据包含一个测试点。

第一行为一个正整数N,方阵的大小。0 < N <= 500

接下来N行,每行有N个数字,第i行第j个数字表示方阵i行j列上的

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024校招宝典——软件版本 文章被收录于专栏

牛客独家出品,理工科求职必备攻略,适合岗位: 软件开发、数据库分析、软件测试、前端后端开发

全部评论

相关推荐

01-28 16:12
中南大学 Java
几年前还没有chatgpt的时候,刷题真的是很痛苦。刷不出来只能看题解,题解有几个问题:第一个是每次看的写题解的人都不一样,很难有一个统一的思路;第二个也是最重要的是,题解只提供了作者自己的思路,但是没有办法告诉你你的思路哪里错了。其实很少有错误的思路,我只是需要被引导到正确的思路上面去。所以传统题解学习起来非常困难,每次做不出来难受,找题解更难受。但是现在chatgpt能做很多!它可以这样帮助你&nbsp;-1.&nbsp;可以直接按照你喜欢的语言生成各种解法的题解和分析复杂度。2.&nbsp;把题和你写的代码都发给它,它可以告诉你&nbsp;你的思路到底哪里有问题。有时候我发现我和题解非常接近,只是有一点点🤏想错了。只要改这一点点就是最优解。信心倍增。3.&nbsp;如果遇到不懂的题解可以一行一行询问为什么要这样写,chatgpt不会嫌你烦。有时候我觉得自己的range写错了,其实那样写也没错,只是chat老师的题解有一点优化,这个它都会讲清楚。4.&nbsp;它可以帮你找可以用同类型解法来做的题。然后它可以保持解法思路不变,用一个思路爽刷一个类型的题。如果题目之间思路又有变化,它会告诉你只有哪里变了,其他的地方还是老思路。5.&nbsp;它也可以直接帮你总结模板,易错点。经过chat老师的指导,我最大的改变是敢刷题了。之前刷题需要先找某一个人写的算法题repo,然后跟着某一个人他的思路刷他给的几个题。如果想写别的题,套用思路失败了,没有他的题解,也不知道到底哪里错了;看别人的题解,思路又乱了。这个问题在二分查找和dp类型的题里面特别常见。但是现在有chat老师,他会针对我的代码告诉我我哪里想错了,应该怎么做;还按照我写代码的习惯帮我总结了一套属于我的刷题模板。每天写题全是正反馈!
明天不下雨了:那我建议可以用 chatgpt atlas 或者 dia 去刷,也可以用 chrome 加个 ai 插件去刷 左边刷题右边 chat 效果很好
AI时代的工作 VS 传...
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务