刷題 力扣 面試題 08 10 顏色填充

2022-10-04 03:09:08 字數 910 閱讀 8683

題目鏈結

題目描述

編寫函式,實現許多編輯軟體都支援的「顏色填充」功能。

待填充的影象用二維陣列 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 ...