当前位置: 首页 > news >正文

广州网站建设第一公司如何找推广平台

广州网站建设第一公司,如何找推广平台,服务器配置参数详解,东莞房价2024年房价走势给一个0 1矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 岛屿问题: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。 C 解决方案 #include &…

        给一个0 1矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 岛屿问题: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。

 C++ 解决方案

#include <iostream>
#include <vector>using namespace std;void dfs(vector<vector<int>>& grid, int i, int j) {if (i < 0 || i >= grid.size() || j < 0 || j >= grid[0].size() || grid[i][j] == 0) {return;}grid[i][j] = 0; // Mark the current cell as visited// Visit all four adjacent cellsdfs(grid, i - 1, j); // Updfs(grid, i + 1, j); // Downdfs(grid, i, j - 1); // Leftdfs(grid, i, j + 1); // Right
}int numIslands(vector<vector<int>>& grid) {int count = 0;for (int i = 0; i < grid.size(); ++i) {for (int j = 0; j < grid[0].size(); ++j) {if (grid[i][j] == 1) {++count;dfs(grid, i, j); // Start DFS from the current cell to mark all connected 1s as visited}}}return count;
}int main() {vector<vector<int>> grid = {{1, 1, 0, 0, 0},{1, 1, 0, 0, 1},{0, 0, 1, 0, 1},{0, 0, 0, 1, 1}};cout << "Number of islands: " << numIslands(grid) << endl;return 0;
}

Python 解决方案 

def dfs(grid, i, j):if i < 0 or i >= len(grid) or j < 0 or j >= len(grid[0]) or grid[i][j] == 0:returngrid[i][j] = 0  # Mark the current cell as visited# Visit all four adjacent cellsdfs(grid, i - 1, j)  # Updfs(grid, i + 1, j)  # Downdfs(grid, i, j - 1)  # Leftdfs(grid, i, j + 1)  # Rightdef num_islands(grid):count = 0for i in range(len(grid)):for j in range(len(grid[0])):if grid[i][j] == 1:count += 1dfs(grid, i, j)  # Start DFS from the current cell to mark all connected 1s as visitedreturn count# Example usage
grid = [[1, 1, 0, 0, 0],[1, 1, 0, 0, 1],[0, 0, 1, 0, 1],[0, 0, 0, 1, 1]
]print("Number of islands:", num_islands(grid))

解释

  1. 深度优先搜索(DFS)
    • dfs函数用于遍历所有与当前陆地相连的陆地,并将它们标记为已访问(即0)。
    • 每当遇到一个未访问的陆地(即值为1的单元格),我们增加岛屿计数,并调用dfs来标记所有相连的陆地。
  2. 遍历矩阵
    • numIslands函数遍历整个矩阵,每当遇到一个新的陆地时,调用dfs函数,并增加岛屿计数。

复杂度

  • 时间复杂度:O(M * N),其中M是矩阵的行数,N是矩阵的列数,因为我们需要遍历整个矩阵一次。
  • 空间复杂度:O(M * N)(在极端情况下,递归调用栈的深度可能达到这个级别),但由于DFS的深度通常较小,实际空间占用可能会更小。

http://www.hengruixuexiao.com/news/46521.html

相关文章:

  • 做网站如何上传apk推广一个产品有哪些方式
  • 设计服务网站牛奶推广软文文章
  • b2b商务平台排名seo软件
  • 北京企业展示网站建设不要手贱搜这15个关键词
  • 做视频网站弹窗百度打广告怎么收费
  • 百度上开个网站怎么做网络推广的好处
  • 可靠的微商城网站建设深圳货拉拉
  • 打开网站代码怎么写提高工作效率图片
  • 行业门户网站的优化怎么做yps行业门户系统信息流广告公司排名
  • 河北省住房城乡建设局网站首页培训机构在哪个平台找
  • 中牟郑州网站建设咸阳网站建设公司
  • 做网站好还是小程序好网站标题seo外包优化
  • 用asp.net做的网站模板下载成都百度业务员电话
  • 北京做网站建设价格百度客服中心人工在线咨询
  • 淄博英文网站建设google chrome
  • 网站制作信息网络营销推广的总结
  • 厦门 网站优化搜狗收录查询
  • 上海模板网站公司企业网站建设哪家好
  • 明年做哪个网站致富seo站长网
  • php建站模板浏览器下载
  • 做网站找客户软文范文大全1000字
  • 网站开发 合同网站seo策划
  • 做网站销售的技巧网页制作接单
  • 音乐网站用dw怎么做大一html网页制作作业简单
  • bbpress wordpress电池优化大师下载
  • 东莞网站推广优化搜索推广关键词什么意思
  • 网站加入搜索引擎怎么做产品营销策划方案
  • 长安网站建设多少钱百度网络推广怎么收费
  • 网站h标签站外推广怎么做
  • 哪家做网站便宜无锡seo公司哪家好