博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出由‘1’组成的孤岛
阅读量:6713 次
发布时间:2019-06-25

本文共 1552 字,大约阅读时间需要 5 分钟。

面试题目,来自leetcode,曾经败在了这个简单的小题。。

Given a 2d grid map of '1's (land) and '0's (water), count the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Example 1:

11110110101100000000

Answer: 1

Example 2:

11000110000010000011

Answer: 3

、、、、、、、、、、、、My accepted Answer、、、、、、、、、、、、、、

遍历整个数组,如果发现‘1’就将其及其临接的‘1’修改为0,就是这样。

int numIslands(char** grid, int gridRowSize, int gridColSize) {    int Islands_Num = 0;    for(int rowIdx = 0; rowIdx < gridRowSize; rowIdx++)    {        for(int columIdx = 0; columIdx < gridColSize; columIdx++)        {            if('1' == grid[rowIdx][columIdx])            {                ConverToZero(grid,rowIdx, columIdx, gridRowSize, gridColSize);                Islands_Num++;            }        }    }    return Islands_Num;    }void ConverToZero(char** grid, int rowIdx, int columIdx, int gridRowSize, int gridColSize){    if( (rowIdx >= gridRowSize)||(columIdx >= gridColSize) ||(rowIdx < 0)||(columIdx < 0) )        return;    if('1' == grid[rowIdx][columIdx])    {        grid[rowIdx][columIdx] = '0';    }    else         return;    ConverToZero(grid,rowIdx+1,columIdx, gridRowSize,gridColSize );    ConverToZero(grid,rowIdx-1,columIdx, gridRowSize,gridColSize );        ConverToZero(grid,rowIdx,columIdx+1, gridRowSize,gridColSize );    ConverToZero(grid,rowIdx,columIdx-1, gridRowSize,gridColSize );    }
一直感觉面试考算法题,没有毛意义!

转载于:https://www.cnblogs.com/butterflybay/p/10348018.html

你可能感兴趣的文章
定时任务框架Quartz的新玩法
查看>>
段前缀的使用(0504)
查看>>
.NET Framework 源码
查看>>
开源大数据周刊-第6期
查看>>
centos上一键安装jdk、tomcat脚本
查看>>
排序算法 时间、空间复杂度
查看>>
心痛的感觉
查看>>
class - function ES6类的方法的两种定义方式及调用方式
查看>>
flex容器主轴上的部分元素单独设置位置
查看>>
window10安装Ubuntu虚拟机踩坑系列
查看>>
JavaScript倒计时
查看>>
ArrayList源码分析
查看>>
golang后端库gin笔记
查看>>
数据如何埋点?Mob统计分析电商类APP埋点需求
查看>>
图片 文件 转base64
查看>>
Vuex源码学习(四)module与moduleCollection
查看>>
python基础总结 Part.1
查看>>
【OC梳理】description
查看>>
一篇不太一样的RxJava介绍(二):关于操作符背后的故事
查看>>
FFmpeg模块介绍
查看>>