亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

golang中怎么利用leetcode實現顏色填充

發布時間:2021-07-06 15:03:00 來源:億速云 閱讀:207 作者:Leah 欄目:大數據

這篇文章將為大家詳細講解有關golang中怎么利用leetcode實現顏色填充,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

顏色填充。編寫函數,實現許多圖片編輯軟件都支持的“顏色填充”功能。給定一個屏幕(以二維數組表示,元素為顏色值)、一個點和一個新的顏色值,將新顏色值填入這個點的周圍區域,直到原來的顏色值全都改變。

示例1:

 輸入:

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,

因為它不是在上下左右四個方向上與初始點相連的像素點。

說明:

image 和 image[0] 的長度在范圍 [1, 50] 內。

給出的初始點將滿足 0 <= sr < image.length 和 0 <= sc < image[0].length。

image[i][j] 和 newColor 表示的顏色值在范圍 [0, 65535]內。

解題思路:

1,一個點要不要填充除了檢查是否越界外,還需要檢查以下兩個條件

A,染色如果和原色相同不染色

B,染色如果和選點顏色不一樣不染色

2,如果滿足染色條件,染色當前點,并遞歸染色周圍點

3,這是一種深度優先的遍歷方法

代碼實現:

func floodFill(image [][]int, sr int, sc int, newColor int) [][]int {    dfs(image,sr,sc,image[sr][sc],newColor)    return image}
func dfs(image [][]int, sr int, sc int,val, newColor int){    if sr<0 || sc<0||sr>=len(image) ||sc>=len(image[0]) ||image[sr][sc]==newColor || image[sr][sc]!=val{        return    }else{        image[sr][sc]=newColor    }
   dfs(image,sr+1,sc,val,newColor)    dfs(image,sr,sc+1,val,newColor)    dfs(image,sr-1,sc,val,newColor)    dfs(image,sr,sc-1,val,newColor)}

關于golang中怎么利用leetcode實現顏色填充就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辰溪县| 冷水江市| 广平县| 安龙县| 行唐县| 松桃| 乌兰察布市| 宜宾县| 彝良县| 文登市| 山阴县| 防城港市| 寿宁县| 旬邑县| 濮阳市| 博客| 平阳县| 平远县| 离岛区| 华安县| 周口市| 金阳县| 浪卡子县| 汽车| 潼关县| 佛冈县| 湛江市| 象州县| 新田县| 高青县| 原阳县| 湘潭县| 商河县| 铜山县| 天祝| 博客| 临澧县| 灵寿县| 平度市| 南江县| 嘉善县|