腾讯音乐娱乐笔试真题&求职宝典理工科版

1.3.1 三国鼎立

【题目描述】

在n∗m的棋盘格状土地上盘踞着三个国家的若干股势力,上下左右相邻的属于同一个国家的土地被认为是同一股势力。现在想知道,土地上总共有多少股势力?

输入描述:

第一行两个正整数,土地宽n,长m;

接下来一个n∗m个矩阵,今包含'1'、'2'、'3',表示土地上的国家分布。

输出描述:

一个正整数,势力股数。

备注:

1≤n、w≤100。

输入样例:

4 4

1122

1222

3111

3333

输出样例:

4

说明:

11

1

是1国的一块势力

22

222

是2国一块势力

3

3333

是3国一块势力

111

是1国的另一块势力

总共4块势力

【解题思路】

经典连通块搜索问题,枚举每个点出发往各个方向搜索相连通的位置。

【参考代码】

#include <bits/stdc++.h>

using namespace std;

void dfs(vector<vector<int>> &a, int x, int y, int val) {

if (a[x][y] != val)

return;

a[x][y] = 0;

if (x + 1 < a.size())

dfs(a, x + 1, y, val);

if (y + 1 < a[0].size())

dfs(a, x, y + 1, val);

if (x - 1 >= 0)

dfs(a, x - 1, y, val);

if (y - 1 >= 0)

dfs(a, x, y - 1, val);

}

int main() {

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

int n, m;

cin >> n >> m;

vector<vector<int>> a(n, vector<int>(m));

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

string line;

cin >> line;

for (int j = 0; j < m; ++j)

a[i][j] = line[j] - '0';

}

int res = 0;

for (int i = 0; i < n; ++i)

for (int j = 0; j < m; ++j) {

if (a[i][j] == 0)

continue;

++res;

dfs(a, i, j, a[i][j]);

}

cout << res << endl;

return 0;

}

......

资料全部内容请看《2025届求职宝典-理工科版

不收费,2人组团即可免费领取!已经发出10000份,涵盖各大公司求职资料,助你事半功倍!

资料包含:

  • 30+大厂面试真题+解析
  • 软件方向:阿里、腾讯、百度、小米、华为、美团......
  • 硬件方向:华为、比亚迪、汇川、新华三、中兴、海康威视......
  • 机械方向:比亚迪、华为、美的、长江存储、宁德时代......
  • 30+大厂岗位薪资爆料
  • 30+大厂offer攻略

拿offer,别犹豫,点击马上领取>>https://www.nowcoder.com/link/campus_ziliao2024-tiezi11

电脑端请微信扫码>>

多说无益,直接上资料截图

每个方向专栏售价69元,但是参与2人组团就可免费领取

点击马上领取>>https://www.nowcoder.com/link/campus_ziliao2024-tiezi11

全部评论

相关推荐

1.&nbsp;自我介绍2.&nbsp;我先跟你确定一下我们这边是客户端你没有问题吧?你是怎么想的?选安卓还是ios?3.&nbsp;缓存一致性如何解决?4.&nbsp;文件分片如何实现的?5.&nbsp;文件分片是串行上传还是并行上传?如果改成并行上传会有什么问题?如何解决?6.&nbsp;项目中多线程使用的场景是什么?7.&nbsp;线程池是如何配置的?8.&nbsp;多线程使用过程中有没有遇到死锁?9.&nbsp;死锁产生的原因以及解决方法是什么?10.&nbsp;项目中的难点是什么?11.&nbsp;项目中有什么功能是你现在觉得做的比较遗憾还有改进空间的?12.&nbsp;项目开发的流程是什么样的?13.&nbsp;平时是怎么学习新的技术的?14.&nbsp;能讲讲最近新学到的技术吗?15.&nbsp;Java四大引用以及使用场景了解吗?16.&nbsp;Java垃圾回收了解吗?17.&nbsp;Volitile关键字知道吗?防止指令重排的底层原理是什么?18.&nbsp;Hashmap的底层原理知道吗?扩容机制也讲一下呢?19.&nbsp;Java内存异常了解吗?如何排查?项目中有遇到内存泄露吗?20.&nbsp;TCP和UDP的区别?21.&nbsp;UDP如何实现可靠连接?22.&nbsp;粘包问题知道吗?TCP和UDP都会有粘包问题吗?23.&nbsp;算法:LRU缓存,反转链表2,接雨水反问1.&nbsp;业务是什么?2.&nbsp;如果能来实习的话有没有免费的QQ音乐会员?3.&nbsp;技术面是两轮还是三轮?本来做算法题,面试官给我发了个力扣链接,让我共享屏幕做,我点开一看lru缓存,做过了。面试官给我发了一个新的链接,反转链表2,也做过了,面试官说你这平时算法刷的挺多啊,我说要不你随便说道题我在本地idea写,面试官坚持用力扣链接,又发来一个,接雨水,也做过了,我尴尬一笑。面试官说那就不做了吧,说说思路吧。
查看23道真题和解析
点赞 评论 收藏
转发
5 8 评论
分享
牛客网
牛客企业服务