題目鏈結
題目描述
編寫函式,實現許多編輯軟體都支援的「顏色填充」功能。
待填充的影象用二維陣列 image 表示,元素為初始顏色值。初始座標點的行座標為 sr 列座標為 sc。需要填充的新顏色為 newcolor 。
「周圍區域」是指顏色相同且在上、下、左、右四個方向上存在相連情況的若干元素。
請用新顏色填充初始座標點的周圍區域,並返回填充後的影象。
示例:
輸入:
image = [[1,1,1],[1,1,0],[1,0,1]]
sr = 1, sc = 1, newcolor = 2
輸出:[[2,2,2],[2,2,0],[2,0,1]]
解釋:
初始座標點位於影象的正中間,座標 (sr,sc)=(1,1) 。
初始座標點周圍區域上所有符合條件的畫素點的顏色都被更改成 2 。
注意,右下角的畫素沒有更改為 2 ,因為它不屬於初始座標點的周圍區域。
題目分析
根據題目描述,將相鄰切相同顏色的格仔,改變顏色
廣度優先搜尋,將相鄰區域切顏色相同的位置改變顏色
**
class solution
floodfill(image, sr, sc, newcolor, image[sr][sc]);
return image;
}private:
void floodfill(std::vector>& image, int sr, int sc, int newcolor, int oldcolor)
if (image[sr][sc] == newcolor)
if (image[sr][sc] == oldcolor)
return;
}};
面試題 08 10 顏色填充(dfs)
編寫函式,實現許多編輯軟體都支援的 顏色填充 功能。待填充的影象用二維陣列 image 表示,元素為初始顏色值。初始座標點的橫座標為 sr 縱座標為 sc。需要填充的新顏色為 newcolor 周圍區域 是指顏色相同且在上 下 左 右四個方向上存在相連情況的若干元素。請用新顏色填充初始座標點的周圍區...
刷題 力扣 面試題 08 11 硬幣
題目鏈結 題目描述 硬幣。給定數量不限的硬幣,幣值為25分 10分 5分和1分,編寫 計算n分有幾種表示法。結果可能會很大,你需要將結果模上1000000007 示例1 輸入 n 5 輸出 2 解釋 有兩種方式可以湊成總金額 5 55 1 1 1 1 1示例2 輸入 n 10 輸出 4 解釋 有四種...
刷題 力扣 面試題 01 08 零矩陣
題目鏈結 題目描述 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0 0,3,1,0 ...