golang中怎么利用leetcode实现颜色填充
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章将为大家详细讲解有关golang中怎么利用leetcode实现颜色填充,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。颜色填充。编写函数,实现许
千家信息网最后更新 2025年02月04日golang中怎么利用leetcode实现颜色填充
这篇文章将为大家详细讲解有关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实现颜色填充就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
颜色
染色
像素
条件
内容
文章
更多
知识
篇文章
范围
检查
不错
相同
上下左右
上下
两个
代码
元素
全都
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
智联蜗牛广东网络技术有限公司
什么是数据库理论
服务器访问静态文件
2018年河北网络安全
自己的域名服务器
计算机网络技术报学动漫制作
弱电工程和网络技术专业有关系
数据库order by的作用
软件开发培训班造价
数据库like是描述什么的
做大数据的数据库
计算机软件开发与销售经营范围
网络安全法执法问题
山东省互联网科技峰会在济南举行
如何信任手机软件开发者
重庆网络安全宣传课堂
网络技术有限公司软件
软件开发调研单
区块链保障网络安全宣传周
维护网络安全保护隐私手抄报
中证网络安全
服务器怎么看单路还是双路
无线传感网络技术cfda
服务器cpu打游戏行吗
暑期青少年网络安全教育ppt
新乡优创网络技术
怎么从数据库查次数
邮箱大师服务器账号密码
网络安全脆弱性分析的必要性
美光嵌入式软件开发工程师待遇