题目大意:

球场中有若干个球队的球迷,同一球队球迷坐的位置都是连在一起的,即这个球迷的上下左右以及斜方向 的人都是同一球队球迷。现在要求其中人数最多的球迷人数,以及共有多少个球迷团体。

思路

当时没有做出来,因为要用到一个叫深度优先搜索树DFS的方法,菜鸡从未接触。它的想法就是:
从左上角开始搜索一个符合条件的地方(这里就是数值为1的地方),从这个地方开始,向右、下(左下斜方向、右下斜方向和右上斜方向[字节跳动那题需要加多这三个方向的])搜索下一个符合条件的值,如果符合就继续这样搜索,直到没有符合的或者达到边界为止。这里也是看了别人的才知道这样写,感觉很巧妙,用了一个int dir[4][2] = {{0,1},{0,-1},{1,0},{-1,0}};数组来移动坐标和返回原坐标。每次符合x>=0&&x

695. 岛屿的最大面积

给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。

找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)

示例 1:

[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,1,1,0,1,0,0,0,0,0,0,0,0],[0,1,0,0,1,1,0,0,1,0,1,0,0],[0,1,0,0,1,1,0,0,1,1,1,0,0],[0,0,0,0,0,0,0,0,0,0,1,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0,0,0,0,0,0,0,1,1,0,0,0,0]]
对于上面这个给定矩阵应返回 6。注意答案不应该是11,因为岛屿只能包含水平或垂直的四个方向的‘1’。

示例 2:

[[0,0,0,0,0,0,0,0]]
对于上面这个给定的矩阵, 返回 0。

注意: 给定的矩阵grid 的长度和宽度都不超过 50。

class Solution {
public:int dfs(vector<vector<int>>& grid, int x0, int y0){int n, m, sum=1;n = grid.size();m = grid[0].size();grid[x0][y0] = 0; //当前元素设置为0,避免再次搜索到int dir[4][2] = {{0,1},{0,-1},{1,0},{-1,0}}; for(int i=0; i<4; i++){   int x = x0 + dir[i][0];int y = y0 + dir[i][1];if(x>=0&&x<n&&y>=0&&y<m&&grid[x][y]==1) //sum+=dfs(grid, x, y);}return sum;}int maxAreaOfIsland(vector<vector<int>>& grid) {int mx = 0, n, m;n = grid.size();//行数m = grid[0].size();for(int i=0; i<n; i++)for(int j=0; j<m; j++){if(grid[i][j] == 1)   mx = max(dfs(grid,i,j), mx);}return mx;}};

字节跳动第一题

//若是字节跳动那一题就是还要加上斜边的情况:
class Solution {
public:int dfs(vector<vector<int>>& grid, int x0, int y0){int n, m, sum=1;n = grid.size();m = grid[0].size();grid[x0][y0] = 0; //当前元素设置为0,避免再次搜索到int dir[10][2] = {{0,1},{0,-1},{1,0},{-1,0},{1,1},{-1,-1},{-1,1},{1,-1},{1,-1},{-1,1}};for(int i=0; i<10; i++){ int x = x0 + dir[i][0];int y = y0 + dir[i][1];if(x>=0&&x<n&&y>=0&&y<m&&grid[x][y]==1)sum+=dfs(grid, x, y);}return sum;}int maxAreaOfIsland(vector<vector<int>>& grid) {int mx = 0, n, m;n = grid.size();//行数m = grid[0].size();for(int i=0; i<n; i++)for(int j=0; j<m; j++){if(grid[i][j] == 1)   mx = max(dfs(grid,i,j), mx);}return mx;}};

2019秋内推字节跳动第一题相关推荐

  1. 2019秋内推字节跳动第三题

    题目大意: 两个同样大小的数组,a,b.统计MAX(a[l,k]) < MIN(b[l,k])的总数,即是在某一段相同始末位置的子数组中,a的该子数组的最大值如果小于b的对应的子数组的最小值则计 ...

  2. 阿里巴巴2019应届内推30分钟编程题

    其他算法笔试题目: 第一题 2019应届毕业生,网易算法工程师笔试题第一题 第二题 2019应届毕业生,网易算法工程师笔试题第二题 ---------------------------------- ...

  3. 内推 | 字节跳动算法提前批

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:字节跳动 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 - ...

  4. 北京内推 | 字节跳动AML机器学习系统团队招聘机器学习训练框架研发实习生

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 字节跳动 AML (Applied Machine Learning) 机 ...

  5. 岗位内推 | 字节跳动招聘NLP、计算机视觉、推荐算法实习生

    PaperWeekly 致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁.如果你需要我们帮助你发布实习或全职岗位,请添加微信号「pwbot02」. NLP算法实习生 ...

  6. 计算机视觉算法实战书籍推荐_岗位内推 | 字节跳动招聘NLP、计算机视觉、推荐算法实习生...

    PaperWeekly 致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁.如果你需要我们帮助你发布实习或全职岗位,请添加微信号「pwbot02」. NLP算法实习生 ...

  7. 内推 | 字节提前批快开始了。。。。

    作者:阿秀 阿秀的校招笔记:https://interviewguide.cn 大家好,我是阿秀. 阿秀认识一些去年的秋招上岸党,上岸了不少国内互联网一线大厂,比如字节跳动.百度.阿里.腾讯.快手.美 ...

  8. ❤️TikTok字节跳动编程题实战2022校招——吐血分享总结(第一弹)。

    ❤️TikTok字节跳动编程题实战2022校招--吐血分享总结. 前言+说明 一.算法编程题(种树) 二.算法编程题(小A的吃鸡之旅) 三.算法编程题(有序最大K位数) 四.算法编程题(测试计划的最大 ...

  9. [C] [字节跳动] [编程题] 手串

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 64M,其他语言128M 链接:https://www.nowcoder.com/questionTerminal/0bb1fad52f4 ...

最新文章

  1. python随机画散点图-Python使用Plotly绘图工具,绘制散点图、线形图
  2. 对象级别锁 vs 类级别锁 – Java
  3. Windows的cmd ping不通vmware的linux系统ip
  4. 我做 Fiori 开发经常使用的几个系统,不同的 SAP UI5 版本
  5. css用一张大图片来设置背景的技术真相
  6. 用自己的ID在appstore中更新app-黑苹果之路
  7. 想搞IT做程序员,要看哪些书?
  8. 怎样教一台计算机区分猫和狗?一文零基础入坑机器学习
  9. C#.Net工作笔记019---葡萄城控件FlexGrid自定义风格_比如给某列设置某个颜色_该颜色不受选择行的影响
  10. 在线火星文转简体中文工具
  11. 前端大佬们都在使用的JavaScript工具函数宝典-内含95个工具函数方法
  12. java4.25生成车牌号_泸牌16年涨882倍 超25万人拍一张车牌为哪般?
  13. 案例|工业物联网解决方案•工业互联网云平台
  14. 【Oracle】批量造测试数据
  15. html风琴图片展示,基于jquery的手风琴图片展示效果实现方法
  16. CPU核心数目 与 多线程
  17. 最近的一些杂感-20220107
  18. 微课堂v2 2.1.8以后分销设置就保存不了解决办法 微擎
  19. DSP28335入门教程:寄存器手册的下载
  20. 【基础知识】SPI通信协议

热门文章

  1. 鸟哥的私房菜笔记—文件权限与目录配置
  2. 管理与维护dns服务器心得,REDHAT 智能DNS服务器管理与维护
  3. LTE、NR载波聚合(CA)-- 等级划分
  4. 如何在VScode上配置Python开发环境【保姆级】
  5. 老男孩Day2作业:编写购物车程序
  6. Type ‘() => Promise<typeof import(“/Users/982471938qq.com/jy-vue3-cms/src/views/login/login.vue“)>‘
  7. 【Python从零到壹】input()函数
  8. 老司机程序员必备效率工具
  9. 【seo】网站内链优化
  10. 使用迅捷画图绘制流程图操作方法介绍