麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Leetcode 200. Number of Islands

2019-11-10 19:43:01
字體:
來源:轉載
供稿:網友

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:

11110110101100000000Answer: 1

Example 2:

11000110000010000011Answer: 3

s思路: 1. 遍歷2d matrix,也有套路,一般就是dfs,有時候還需要把已經遍歷過的值修改成另外的值,用來表示已經訪問過,避免重復訪問。這里就可以用這個方法:遍歷每個點,遇到1,說明遇到島了,然后從這個點開始做dfs,遍歷上下左右連接的點,并修改成S;繼續遍歷,遇到0表示是水,遇到S表示是之前遇到的島,遇到1,說明遇到一個新的島,于是繼續從這個點開始做dfs.

//方法1:dfs:把訪問過的位置修改成'*',就不用visited矩陣來標識!class Solution {public: void helper(vector<vector<char>>& grid,int i,int j){ // if(grid[i][j]!='1') return; grid[i][j]='*'; /*for(int k=0;k<4;i++){ helper(grid,dir,i+dir[k][0],j+dir[k][1]); }*/ //吐槽:上面這種寫法居然通不過,還是老老實實把四種情況寫清楚! if(i>0) helper(grid,i-1,j); if(i<grid.size()-1) helper(grid,i+1,j); if(j>0) helper(grid,i,j-1); if(j<grid[0].size()-1) helper(grid,i,j+1); } int numIslands(vector<vector<char>>& grid) { // int m=grid.size(); if(m==0) return 0; int n=grid[0].size(); int count=0; //vector<vector<int>> dir={{1,0},{-1,0},{0,1},{0,-1}};//這樣寫,TLE for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(grid[i][j]=='1'){ count++; helper(grid,i,j); } } } //沒說不讓修改給的matrix,但是修改后,最好給改回來! /*for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ if(grid[i][j]=='*'){ grid[i][j]='1'; } } }*/ return count; }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 一级黄色在线观看 | 精品一区二区久久久久久久网精 | 综合网天天射 | 欧美性受ⅹ╳╳╳黑人a性爽 | 色网站免费观看 | 毛片视频免费观看 | 欧美人禽| 亚洲人成综合第一网 | a级毛片免费观看在线播放 日本aaa一级片 | 日韩一级精品 | 久久久久久久久久网 | 极品五月天| 亚洲第一成人在线观看 | 国产大片全部免费看 | 97久久曰曰久久久 | 黄色免费电影网址 | 精品一区在线视频 | 天天天干夜夜夜操 | 亚洲一级片免费观看 | 激情亚洲一区二区三区 | 99国产精品自拍 | 欧美色另类 | 国产成年人网站 | 中文字幕综合在线观看 | 成人在线视频一区 | 国产精品视频不卡 | 黄色网址在线免费播放 | 亚洲成人精品视频 | 久久精品伊人网 | 免费久久久久久 | 亚洲免费视频大全 | 韩国精品视频在线观看 | 一级精品| 亚州精品天堂中文字幕 | 国产一区二区三区网站 | 激情午夜天 | 久草中文网| 极品大长腿啪啪高潮露脸 | 国产一区二区三区四区波多野结衣 | 亚洲精品在线观看免费 | 日本aⅴ在线 |