包圍區域是乙個典型的dfs的題目。大意是乙個二維陣列中存在字元'x'和'o',將被'x'包圍的'o'全部變為'x'。具體做法是從陣列的邊界上為'o'的起點開始dfs,將dfs過程中遇到的字元標記為'y'。然後遍歷二維陣列,將'y'的變為'o',其餘為'x'即可。
題目描述:
given a 2d board containing'x'and'o', capture all regions surrounded by'x'.
a region is captured by flipping all'o's into'x's in that surrounded region .
for example,
x x x xafter running your function, the board should be:x o o x
x x o x
x o x x
x x x xx x x x
x x x x
x o x x
1class
solution else
11 dfs(x+1
,y,board);
12 dfs(x-1
,y,board);
13 dfs(x,y+1
,board);
14 dfs(x,y-1
,board);
1516}17
void solve(vectorchar>> &board) 25}
26}2728
for(int i=0;i)else35}
36}37}
38 };
面試題 閉包問題
function console.log y console.log x console.log y 輸出結果為 1 console.log x 輸出結果為 error,直接報錯 解析宣告變數 從右向左賦值,可分解為 y 1 var x y 可見 y 為全域性變數,x為閉包函式內的區域性變數,在co...
JS閉包 面試題
function setobj p p.name bb var p setobj p console.log p 程式的執行結果是aa 匿名函式的this一般是指向window var number 2 var obj var fn1 obj.fn1 console.log number 匿名函式呼...
js閉包面試題
請看以下 在輸出臺的輸出情況 答案是4400,4401,4399,4400 首先,test函式做了什麼?test在自己的函式作用域內建立乙個變數n,以及乙個函式add,這時add就作為乙個閉包,它可以在外部訪問到test內部的變數n,並對其進行加法。然後test返回乙個物件,這個物件有乙個n變數以及...