有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。

给你一个坐标 (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,
因为它不是在上下左右四个方向上与初始点相连的像素点。

注意:

  • imageimage[0] 的长度在范围 [1, 50] 内。
  • 给出的初始点将满足 0 <= sr < image.length0 <= sc < image[0].length
  • image[i][j]newColor 表示的颜色值在范围 [0, 65535]内。
/*** @param {number[][]} image* @param {number} sr* @param {number} sc* @param {number} newColor* @return {number[][]}*/
var floodFill = function(image, sr, sc, newColor) {};

个人解法

var floodFill = function(image, sr, sc, newColor) {//newColor的颜色如果跟坐标颜色一样,那么就不用染色了if(newColor === image[sr][sc]){return image;}//记录原始值var num = image[sr][sc];//递归函数function digui(sr , sc){image[sr][sc] = newColor;if(sr - 1 >= 0 && image[sr - 1][sc] === num){//上digui(sr - 1, sc);}if(sr + 1 < image.length && image[sr + 1][sc] === num){//下digui(sr + 1, sc);}if(sc - 1 >= 0 && image[sr][sc - 1] === num){//左digui(sr, sc - 1);}if(sc + 1 < image[0].length && image[sr][sc + 1] === num){//右digui(sr, sc + 1);}}digui(sr , sc);return image;
};

LeetCode(733)——图像渲染(JavaScript)相关推荐

  1. LeetCode 733. 图像渲染(DFS/BFS)

    文章目录 1. 题目 2. 解题 2.1 DFS 2.2 BFS 1. 题目 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. 给你一个坐标 (sr ...

  2. 733.图像渲染(主讲题意)

    有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. 给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newCol ...

  3. LeetCode:733. 图像渲染(java版)——BFS是渣男/女,DFS是方知有

    题外话:看完题目,是不是一头雾水.有疑问就对了,不知道出题者的语文老师看了有啥感想. 题目意思其实很简单,就是给你一个初始坐标点(sr,sc),找和该点附近像素值相同的坐标,而这附近的定义就是上下左右 ...

  4. 文巾解题 733. 图像渲染

    1 题目描述 2 解题思路 注意一点,如果第一个要渲染的点,颜色和要渲染成的颜色是一样的,那么我们直接返回.不然的话会死循环. 2.1 广度优先遍历 广搜是使用队列来实现的 class Solutio ...

  5. 目标检测Part2+Leetcode(733)

    目标检测Part2 目标检测Part2(R-FCN,Yolo) 1.R-FCN 1.1 检测网络的变换敏感性 和 分类网络的变换不变性 1.2 设计动机(模型优势) 1.3 R-FCN架构分析-算法步 ...

  6. leetcode算法练习 JavaScript实现

    leetcode 表格内容由spider.js从leetcode-cn.com爬取. 已做题目答案也从leetcode-cn.com中爬取并生成文件. 解题进度:已解决 140/637 - 简单 94 ...

  7. LeetCode简单题之图像渲染

    题目 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. 给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 new ...

  8. 733. Flood Fill 图像渲染

    有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. 给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newCol ...

  9. 了不起的Chrome浏览器(6):Chrome 94开始WebGPU试用,Web的图像渲染及机器学能力更强了

    9月21日正式发布的Chrome 94,带来了哪些有意思的新特性呢? 背景 十多年来,Web技术突飞猛进,其中Chrome功不可没,了解Chrome可以帮助我们理解前端行业的发展趋势. 因此,我将以& ...

最新文章

  1. Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)——无非是在传统遍历过程中修改叶子结点加入后继结点信息(传统是stack记录),然后再删除恢复...
  2. 如何构建银行数据仓库
  3. java+cache使用方法_java相关:Spring boot redis cache的key的使用方法
  4. appium更新到1.8.2,不能打开运行的解决办法
  5. oracle数据库无法写入文件,如何在ORACLE的PL/SQL中将数据写入文件
  6. html文件整体结构,HTML文件基本结构
  7. 计算机word怎么选中全文,word怎么选择 WORD怎么选取全文
  8. 熊猫烧香病毒作者再被捕 开网络赌场敛财
  9. (JS)蔚蓝网上书店(课本案例)
  10. 微信小程序chooseMedia应用
  11. 线上故障之-CPU飙高
  12. simulink方框_simulink模型引用
  13. php根据ip地址查询经纬度,根据IP查询经纬度
  14. 夺命雷公狗---javascript NO:27 通过json调用12306查询车次信息
  15. 台式计算机怎样能搜无线连接,台式机怎样能够连入wifi呢
  16. 微信公众平台生成二维码海报是如何做到的?
  17. Intellij搭建spark开发环境
  18. 堆电池、增续航是缓解电动车“里程焦虑”的灵丹妙药吗?
  19. Hive学习—数据操作
  20. Mysql语句执行逻辑

热门文章

  1. 008-Shell 流程控制
  2. pandas系列 read_csv 与 to_csv 方法各参数详解(全,中文版)
  3. jpa基于按annotation的hibernate主键生成策略
  4. PhotoShop的神奇(重新发表)
  5. IDC:今年全球认知和人工智能系统支出将突破125亿美元
  6. 大数据助力“互联网+政务服务”发展
  7. Windows server 2008 R2 DHCP服务器的架设
  8. Linux 下的驱动开发最简单例子
  9. Sql SUBSTR函数
  10. 使Android 自带SDK 完美支持HTML5 之 html5webview