1.1 阿里巴巴求职攻略-理工科版本

1.1.1 校园招聘时间流程

网申

机考

面试

offer

7月-10月

8月-10月

9月-12月

11月-1月

1.1.2 薪资爆料

岗位

地点

学历

薪资范围(年薪)

实习|淘天集团|Java后端|杭州

杭州

本科

20-35K * 12薪

后台开发工程师

广州

本科

11-21K * 12薪

前端工程师 25届校招

杭州

本科

10-30K * 12薪

Java校招

杭州

本科

20-30K * 16薪

研发工程师

广州

本科

8-10K * 12薪

阿里巴巴25届校招-软件开发

杭州

本科

20-30K * 16薪

lazada研发工程师

深圳

本科

20-25K * 13薪

Java

杭州

本科

20-35K * 12薪

阿里云-java开发(实习)

杭州

本科

400-500元/天

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

1.1.3 面试真题

1、树上最短链

【题目描述】

在一个地区有n个城市以及n-1条无向边,每条边的时间边权都是1,并且这些城市是联通的,即这个地区形成了一个树状结构。每个城市有一个等级。

现在小强想从一个城市走到另一个不同的城市,并且每条边经过至多一次,同时他还有一个要求,起点和终点城市可以任意选择,但是等级必须是相同的。

但是小强不喜欢走特别远的道路,所以他想知道时间花费最小是多少。

输入描述:

第一行一个正整数n,含义如题面所述。

第二行n个正整数Ai,代表每个城市的等级。

接下来n-1行每行两个正整数u,v代表一条无向边。

保证给出的图是一棵树。

1≤n≤5000

1≤u,v≤n

1≤Ai≤109

输出描述:

仅一行一个整数代表答案,如果无法满足要求,输出 -1 。

输入样例:

3

1 2 1

1 2

2 3

输出样例:

2

【解题思路】

数据量比较小,直接dfs即可。

【参考代码】

#include <bits/stdc++.h>

typedef long long ll;

using namespace std;

int n, a[5005], root, ans = 1e9;

vector<int> e[5005];

void dfs(int r, int f, int deep) {

if (r != root && a[r] == a[root])

ans = min(ans, deep);

for (int i = 0; i < e[r].size(); i++)

if (e[r][i] != f)

dfs(e[r][i], r, deep + 1);

}

int main() {

ios::sync_with_stdio(0), cin.tie(0);

int i, j, x, y;

cin >> n;

for (i = 1; i <= n; i++)

cin >> a[i];

for (i = 1; i < n; i++) {

cin >> x >> y;

e[x].push_back(y);

e[y].push_back(x);

}

for (i = 1; i <= n; i++) {

root = i;

dfs(i, 0, 0);

}

cout << (ans == 1e9 ? -1 : ans);

return 0;

}

2、对称飞行器

【题目描述】

小强在玩一个走迷宫的游戏,他操控的人物现在位于迷宫的起点,他的目标是尽快的到达终点。

每一次他可以选择花费一个时间单位向上或向下或向左或向右走一格,或是使用自己的对称飞行器花费一个时间单位瞬移到关于当前自己点中心对称的格子,且每一次移动的目的地不能存在障碍物。

具体来说,设当前迷宫有n行m列,如果当前小强操控的人物位于点A(x,y),那么关于点 A 中心对称的格子B(x',y') 满足x+x'=n+1且y+y'=m+1。

需要注意的是,对称飞行器最多使用5次。

输入描述:

第一行两个空格分隔的正整数n,m分别代表迷宫的行数和列数。

接下来n行 每行一个长度为m的字符串来描述这个迷宫。

其中

. 代表通路。

# 代表障碍。

S 代表起点

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

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

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

全部评论

相关推荐

11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
头像
11-27 14:28
长沙理工大学
刷算法真的是提升代码能力最快的方法吗?&nbsp;刷算法真的是提升代码能力最快的方法吗?
牛牛不会牛泪:看你想提升什么,代码能力太宽泛了,是想提升算法能力还是工程能力? 工程能力做项目找实习,算法也分数据结构算法题和深度学习之类算法
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务