思路:深度搜索(dfs)。

接下来我们用C++进行编程:

class Solution {public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可* 获取最大连通区域* @param data int整型vector<vector<>> 二维数组* @return int整型*/int getMaxArea(vector<vector<int> >& data) {// write code hereint ans = 0;for (int i = 0; i != data.size(); ++i){for (int j = 0; j != data[0].size(); ++j)ans = max(ans, dfs(data, i, j));}return ans;}int dfs(vector<vector<int>>& grid, int cur_i, int cur_j) {if (cur_i < 0 || cur_j < 0 || cur_i == grid.size() || cur_j == grid[0].size() || grid[cur_i][cur_j] != 1)return 0;grid[cur_i][cur_j] = 0;int di[4] = {0, 0, 1, -1};int dj[4] = {1, -1, 0, 0};int ans = 1;for (int index = 0; index != 4; ++index) {int next_i = cur_i + di[index], next_j = cur_j + dj[index];ans += dfs(grid, next_i, next_j);}return ans;}
};

算法题_寻找最大连通区域相关推荐

  1. 经典算法题:寻找数组中第k大的元素

    这算是一道相当经典的算法题了: 在长度为N的乱序数组中寻找第k(n>=k)大的元素. 扩展思考:如何处理数组中的重复元素?比如,对于数组a={1,2,2,2,3,3,3},第二大的元素应该是3还 ...

  2. java的简单算法题_[2]十道算法题【Java实现】

    前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...

  3. 保研面试 算法题_面试挂在了一道 LRU 缓存算法设计题

    前言 好吧,有人可能觉得我标题党了,但我想告诉你们的是,前阵子面试确实挂在了 RLU 缓存算法的设计上了. 当时面试官问到这个题的时候,很快给了一个思路,但是手写的时候,发现自己没有深刻理解它,加上当 ...

  4. 保研面试 算法题_计算机考研/保研复试重点整理-数据结构篇

    先来一个知识框架图,前方高能预警 好了,看完这个框架,你慌了吗? 大家心里有个数之后,我们开始划重点,都去给我背! 一.什么是数据结构? 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在 ...

  5. 保研面试 算法题_百度软件工程师面试经验

    面试过程: 首先介绍一下笔者的背景.笔者是某苦逼工科专业不想考研又保研无望的孩纸,虽然本科不是计算机专业的,但好歹也做过几个小项目(这里感激一下现在充斥着生活各处的编程,让笔者虽然不是计算机专业的学生 ...

  6. 算法题3 寻找丑数数值逼近

    题目 只包含因子2.3.5的数字被称为丑数.例如4和6是丑数,而14不是丑数,因为含有因子7.习惯上把1作为第一个丑数.求按从小到大顺序的第1500个丑数. 分析 假设一个丑数顺序数组ugly_num ...

  7. java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...

    输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...

  8. 算法题_位运算_4_是不是2的整数次方

    位运算 是不是2的整数次方 如果已经吃透了上一道题<二进制数中"1"比特的个数>,只要稍加思考,就会发现这道题与上一道的考点是一样的,都是判断"1" ...

  9. 攻破算法题_散列_PAT_B1029_到底买不买(20)

    题目: 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多 ...

  10. 算法题_位运算_9_出现一次的数字和出现k次的数字

    位运算 出现一次的数字和出现k次的数字 题目:出现k次和出现1次 描述:数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现1次的数. 第一次看到这道题,思考了一会,觉得可以使用Map集合来 ...

最新文章

  1. linux的ftp服务器
  2. win7 win10下80端口被System进程占用的解决方法
  3. unet_3plus
  4. Javascript 返回上一页
  5. Access和SQL SERVER两种数据库的直接转换,不需要第三方工具
  6. Python编程基础:第八节 判断语句If Statements
  7. Python之try except异常处理工作机制和案例解析
  8. 柳传志与马云绸缪宏观经济“冬天影子”
  9. WSS2.0 SP2升级到WSS3.0步骤
  10. C基础——fopen() 的 mode参数
  11. yum安转软件包提示nokey错误时的处理办法。
  12. CentOS 7中添加一个新用户并授权(转载)
  13. php是哪个快递,php快递查询API类(支持各种快递的查询)
  14. 问题 A: 【动态规划】机器人军团(最大不下降子序列)
  15. C++ 注释风格建议
  16. 仓库标准作业流程与WMS系统规划
  17. 【办公协作软件】万彩办公大师教程丨图片OCR工具的应用
  18. 安装 AD LTspice电路仿真软件
  19. 十进制整数,转换成八进制和十六进制数并输出。
  20. sql语句中大于 , 大于等于 , 小于 , 小于等于

热门文章

  1. 软件设计师刷题(2)
  2. 用C语言打印平行四边形
  3. java 邮件 加密_基于Java的邮件加密解密
  4. 集合查询和查询结果处理
  5. 手机版的python如何运行常用数列结构_Python新手学习基础之数据结构-列表1
  6. Ubuntu 出现/usr/bin/ld: cannot find -lXp的问题
  7. 奇点云数据中台技术汇(三)| DataSimba系列之计算引擎篇
  8. debian7修改密码
  9. c语言变量表达式计算器,C语言表达式计算器~
  10. 李宏毅自然语言处理——GPT3简介