#青训营笔记创作活动# 问题描述
小F被神秘力量带入了一个魔幻世界,这里危机四伏。为了在异世界中生存,小F需要找到安全区。异世界可以被表示为一个大小为n x m的二维数组,每个格子的值代表该位置的危险程度。
小F的能力值为X,当某个格子的危险程度小于等于X时,这个格子是安全的。如果多个安全的格子相邻(上下左右连通),它们可以构成一个安全区。你需要帮助小F计算出一共有多少个安全区。
测试样例
样例1:
输入:n = 3, m = 3, X = 4, a = [[2, 3, 3], [3, 3, 3], [3, 3, 3]]
输出:1
样例2:
输入:n = 2, m = 2, X = 5, a = [[6, 6], [6, 4]]
输出:1
样例3:
输入:n = 3, m = 3, X = 3, a = [[1, 2, 2], [2, 3, 3], [3, 4, 5]]
输出:1
题解:
一个原二维数组,新建一个visited数组记录是否经过,直接全部遍历,遇到安全值小于能力值且没经过的点就进入while循环。while循环通过队列实现安全区域的搜寻,通过maxnum记录安全区域的个数。
#青训营笔记创作活动#
2月11日 打卡day03
今日学习了如何通过TinyPng和代码制作图片压缩插件,TinyPng 一款智能压缩技术工具,效果跟原图基本没差,压缩效果好;开发一个在生产环境时对图片进行压缩;从查找,分配,上传,下载,写入去形成了这个插件;1. 查找: 目标文件夹的路径path,然后获取该path下的所有内容,接着遍历所有内容。然后进行判断,完之后保存结果;2. 分配:通过遍历list,把任务依次分给每一个进程。接着遍历works,通过send方法发送进程任务。通过监听message事件,利用pageNum记录进程任务的完成情况,当所有进程任务执行完毕后,则关闭进程。3. 上传:使用node自带的Https模块,构造请求头,把deepFindImg中返回的图片进行上传。上传成功后,会返回已经压缩好的图片的url链接。4. 下载:使用node自带的Https模块把upload中返回的图片链接进行下载。下载成功后,返回图片的buffer数据。5. 写入:在compressSvga内部,对svga进行解析成data,获取到svga的图片列表images,接着调用compressImg对images进行压缩,使用压缩后的图片覆盖data.images,最后再把data编码后,写入到本地覆盖原本的svga。6. 让UI自己去压缩
2月11日 打卡day03
今日学习了如何通过TinyPng和代码制作图片压缩插件,TinyPng 一款智能压缩技术工具,效果跟原图基本没差,压缩效果好;开发一个在生产环境时对图片进行压缩;从查找,分配,上传,下载,写入去形成了这个插件;1. 查找: 目标文件夹的路径path,然后获取该path下的所有内容,接着遍历所有内容。然后进行判断,完之后保存结果;2. 分配:通过遍历list,把任务依次分给每一个进程。接着遍历works,通过send方法发送进程任务。通过监听message事件,利用pageNum记录进程任务的完成情况,当所有进程任务执行完毕后,则关闭进程。3. 上传:使用node自带的Https模块,构造请求头,把deepFindImg中返回的图片进行上传。上传成功后,会返回已经压缩好的图片的url链接。4. 下载:使用node自带的Https模块把upload中返回的图片链接进行下载。下载成功后,返回图片的buffer数据。5. 写入:在compressSvga内部,对svga进行解析成data,获取到svga的图片列表images,接着调用compressImg对images进行压缩,使用压缩后的图片覆盖data.images,最后再把data编码后,写入到本地覆盖原本的svga。6. 让UI自己去压缩
展开
评论
点赞