golang中怎么利用leetcode实现颜色填充
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,这篇文章将为大家详细讲解有关golang中怎么利用leetcode实现颜色填充,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。颜色填充。编写函数,实现许
千家信息网最后更新 2024年11月19日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安全错误
数据库的锁怎样保障安全
查看数据库的隔离级别
数据库连接池打满怎么排查
壁挂式边缘计算服务器
数据库老弹窗怎么办
什么是网吧服务器
医药管理软件开发公司排名
江苏东盛软件开发公司
sas手工输入数据库
express打开数据库
网络安全法规知识常识黑板报
iis网页链接数据库
数据库表格中设置默认值
orcle数据库如何备份
神经网络技术的发展现状
google软件开发
搭建虚拟服务器vps
成都财创无忧互联网科技
南沙网络安全运维
青岛科易尔网络技术有限公司
数据服务器的电力维护工作
数据库基础实例教程第二版答案
墨斗互动网络技术公司
网站网络安全防护机制
邯郸工业软件开发有用吗
影楼数据库
福建服务器电源哪家便宜
网页文件如何上传服务器
软件开发外包的风险
360能上华科网络安全专业吗
小米互联网网络技术专利