程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> [leetcode] 200 Number of Islands(DFS)

[leetcode] 200 Number of Islands(DFS)

編輯:C++入門知識

[leetcode] 200 Number of Islands(DFS)


非常基礎的一道DFS深度優先搜索的題目,當我們遍歷數組發現一個位置為'1'時,就是用dfs將其周圍的1全部變為0,然後遞歸繼續,這樣所有連通成一片的'1'就是一個island,sum++,最後返回sum即可。類似的題目還有 hdu 1016,hdu 1241。

 

int dir[4][2]={{-1,0},{1,0},{0,1},{0,-1}};
class Solution {

public:
    void dfs(int i,int j,vector< vector >& grid)
    {
    	for(int k=0;k<4;k++)
    	{
	    	int x=i+dir[k][0];
	    	int y=j+dir[k][1];
	    	if(x>=0&&x=0&&y >& grid) {
    	int sum=0;
        for(int i=0;i

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved