算法题_寻找最大连通区域
思路:深度搜索(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;}
};
算法题_寻找最大连通区域相关推荐
- 经典算法题:寻找数组中第k大的元素
这算是一道相当经典的算法题了: 在长度为N的乱序数组中寻找第k(n>=k)大的元素. 扩展思考:如何处理数组中的重复元素?比如,对于数组a={1,2,2,2,3,3,3},第二大的元素应该是3还 ...
- java的简单算法题_[2]十道算法题【Java实现】
前言 清明不小心就拖了两天没更了-- 这是十道算法题的第二篇了-上一篇回顾:十道简单算法题 最近在回顾以前使用C写过的数据结构和算法的东西,发现自己的算法和数据结构是真的薄弱,现在用Java改写一下, ...
- 保研面试 算法题_面试挂在了一道 LRU 缓存算法设计题
前言 好吧,有人可能觉得我标题党了,但我想告诉你们的是,前阵子面试确实挂在了 RLU 缓存算法的设计上了. 当时面试官问到这个题的时候,很快给了一个思路,但是手写的时候,发现自己没有深刻理解它,加上当 ...
- 保研面试 算法题_计算机考研/保研复试重点整理-数据结构篇
先来一个知识框架图,前方高能预警 好了,看完这个框架,你慌了吗? 大家心里有个数之后,我们开始划重点,都去给我背! 一.什么是数据结构? 数据结构是计算机存储.组织数据的方式.数据结构是指相互之间存在 ...
- 保研面试 算法题_百度软件工程师面试经验
面试过程: 首先介绍一下笔者的背景.笔者是某苦逼工科专业不想考研又保研无望的孩纸,虽然本科不是计算机专业的,但好歹也做过几个小项目(这里感激一下现在充斥着生活各处的编程,让笔者虽然不是计算机专业的学生 ...
- 算法题3 寻找丑数数值逼近
题目 只包含因子2.3.5的数字被称为丑数.例如4和6是丑数,而14不是丑数,因为含有因子7.习惯上把1作为第一个丑数.求按从小到大顺序的第1500个丑数. 分析 假设一个丑数顺序数组ugly_num ...
- java牛客排序算法题_《剑指offer》面试题28:字符串的排列(牛客网版本) java...
输入一个字符串,按字典序打印出该字符串中字符的所有排列.例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba. 输入描述: 输入一个字符 ...
- 算法题_位运算_4_是不是2的整数次方
位运算 是不是2的整数次方 如果已经吃透了上一道题<二进制数中"1"比特的个数>,只要稍加思考,就会发现这道题与上一道的考点是一样的,都是判断"1" ...
- 攻破算法题_散列_PAT_B1029_到底买不买(20)
题目: 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多 ...
- 算法题_位运算_9_出现一次的数字和出现k次的数字
位运算 出现一次的数字和出现k次的数字 题目:出现k次和出现1次 描述:数组中只有一个数出现了1次,其他的数都出现了k次,请输出只出现1次的数. 第一次看到这道题,思考了一会,觉得可以使用Map集合来 ...
最新文章
- linux的ftp服务器
- win7 win10下80端口被System进程占用的解决方法
- unet_3plus
- Javascript 返回上一页
- Access和SQL SERVER两种数据库的直接转换,不需要第三方工具
- Python编程基础:第八节 判断语句If Statements
- Python之try except异常处理工作机制和案例解析
- 柳传志与马云绸缪宏观经济“冬天影子”
- WSS2.0 SP2升级到WSS3.0步骤
- C基础——fopen() 的 mode参数
- yum安转软件包提示nokey错误时的处理办法。
- CentOS 7中添加一个新用户并授权(转载)
- php是哪个快递,php快递查询API类(支持各种快递的查询)
- 问题 A: 【动态规划】机器人军团(最大不下降子序列)
- C++ 注释风格建议
- 仓库标准作业流程与WMS系统规划
- 【办公协作软件】万彩办公大师教程丨图片OCR工具的应用
- 安装 AD LTspice电路仿真软件
- 十进制整数,转换成八进制和十六进制数并输出。
- sql语句中大于 , 大于等于 , 小于 , 小于等于